regex recursive matching (regex 2015.07.19)
ben.usenet at bsb.me.uk
Tue Aug 18 23:55:48 CEST 2015
Neal Becker <ndbecker2 at gmail.com> writes:
> Trying regex 2015.07.19
> I'd like to match recursive parenthesized expressions, with groups such that
> would give
> group(0) -> '(a(b)c)'
> group(1) -> '(b)'
> but that's not what I get
> import regex
> #r = r'\((?>[^()]|(?R))*\)'
> r = r'\(([^()]|(?R))*\)'
> #r = r'\((?:[^()]|(?R))*\)'
> m = regex.match (r, '(a(b)c)')
The (?R) syntax is Perl -- it's no implemented in Python. Python and
Perl regexs are very similar in syntax (for very good reasons) but
neither (?R) nor the numbered or named versions of it are in Python.
More information about the Python-list