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 a
fullmatchmethod that works like
match, but anchors the match at both the start and the end.
test_fullmatchmethods that work like
fullmatch, but only return
Falseto 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 top-level convenience functions like
match. (Just use compile.)
- No compile cache. (If you care enough about performance to use RE2, you probably care enough to cache your own patterns.)
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@example.com>.