regex recursive matching (regex 2015.07.19)
python at mrabarnett.plus.com
Wed Aug 19 00:48:46 CEST 2015
On 2015-08-18 22:55, Ben Bacarisse wrote:
> 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.
He's using the regex module from PyPI:
More information about the Python-list