axiak / pyre2

Python wrapper for RE2
BSD 3-Clause "New" or "Revised" License
295 stars 39 forks source link

support the 'groupindex' attribute on compiled patterns #35

Open srp opened 8 years ago

srp commented 8 years ago

The python 're' module has a 'groupindex' attribute on compiled patterns. The re2 library also supports as much through RE2::NamedCapturingGroups(), however prior to this patch it wasn't exposed through pyre2.

For example:

>>> import re, re2
>>> re.compile("(?P<foo>aaa)(?P<bar>bbb)").groupindex
{'foo': 1, 'bar': 2}
>>> re2.compile("(?P<foo>aaa)(?P<bar>bbb)").groupindex
{'foo': 1, 'bar': 2}

This change is Reviewable

srp commented 8 years ago

Am I suppose to include a new generation of re2.cpp as part of the pull request, or is that something you prefer to do? If I do it causes tons of lines to change due to my username vs yours, but I'm happy to include it if that's what you'd prefer. Thanks!