pyre2 is a Python extension that wraps
Google's RE2 regular expression library.
It implements many of the features of Python's built-in
re module with compatible interfaces.
Regexpobjects have afullmatchmethod that works likematch, but anchors the match at both the start and the end.Regexpobjects havetest_search,test_match, andtest_fullmatchmethods that work likesearch,match, andfullmatch, but only returnTrueorFalseto indicate whether the match was successful. These methods should be faster than the full versions, especially for patterns with capturing groups.
- No substitution methods.
- No flags.
- No
split,findall, orfinditer. - No top-level convenience functions like
searchandmatch. (Just use compile.) - No compile cache. (If you care enough about performance to use RE2, you probably care enough to cache your own patterns.)
- No
lastindexorlastgrouponMatchobjects.
pyre2 has only received basic testing, and I am by no means a Python extension expert, so it is quite possible that it contains bugs. I'd guess the most likely are reference leaks in error cases.
RE2 doesn't build with fPIC, so I had to build it with
make CFLAGS='-fPIC -c -Wall -Wno-sign-compare -O3 -g -I.'
I also had to add it to my compiler search path when building the module with a command like
env CPPFLAGS='-I/path/to/re2' LDFLAGS='-L/path/to/re2/obj' ./setup.py build
You can file bug reports on GitHub, or email the author: David Reiss <[email protected]>.
See the LICENSE file for more information.