Python 3.6 sre_parse module
Project description
Python 3.6 sre_parse
module
Why
The initial motivation to "create" sre_parse36
is to provide a colorizer for regular expressions that produce the same expression as initially provided.
The handling of non-capturing groups changed from Python 3.7, we can't back reproduce the original regular expression from a SubPattern
instance anymore. This regression is tracked at https://bugs.python.org/issue45674, hopefully it will be fixed in a future Python 3.9 bugfix release.
In Python 3.6:
>>> import sre_parse
>>> sre_parse.parse("(?:foo (?:bar) | (?:baz))").dump()
SUBPATTERN None 0 0
BRANCH
LITERAL 102
LITERAL 111
LITERAL 111
LITERAL 32
SUBPATTERN None 0 0
LITERAL 98
LITERAL 97
LITERAL 114
LITERAL 32
OR
LITERAL 32
SUBPATTERN None 0 0
LITERAL 98
LITERAL 97
LITERAL 122
In Python 3.7 and beyond:
>>> import sre_parse
>>> sre_parse.parse("(?:foo (?:bar) | (?:baz))").dump()
BRANCH
LITERAL 102
LITERAL 111
LITERAL 111
LITERAL 32
LITERAL 98
LITERAL 97
LITERAL 114
LITERAL 32
OR
LITERAL 32
LITERAL 98
LITERAL 97
LITERAL 122
Install
pip install sre_parse36
Usage
Replace sre_parse
by sre_parse36
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
sre_parse36-1.0.0.tar.gz
(22.4 kB
view hashes)
Built Distribution
Close
Hashes for sre_parse36-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb1379ac5d7ab0bcb4e8444a5b42ea5514e648731f4d30967c0729266d9d32ed |
|
MD5 | 09058551840eff3a47379cd34f984084 |
|
BLAKE2b-256 | 92f9793311ff3306fa459ed93fa423983489975f5d157951d31af58a61a85078 |