Issue #28637: Reapply changeset 223731925d06

"issue28082: use IntFlag for re constants" by Ethan Furman.

The re module is not more used in the site module and so adding "import enum"
to re.py doesn't impact python_startup benchmark anymore.
This commit is contained in:
Victor Stinner 2016-11-14 12:35:55 +01:00
parent 996fc1fcfc
commit fb6a6596b5
1 changed files with 21 additions and 12 deletions

View File

@ -119,6 +119,7 @@ This module also defines an exception 'error'.
""" """
import enum
import sre_compile import sre_compile
import sre_parse import sre_parse
import functools import functools
@ -138,18 +139,26 @@ __all__ = [
__version__ = "2.2.1" __version__ = "2.2.1"
# flags class RegexFlag(enum.IntFlag):
A = ASCII = sre_compile.SRE_FLAG_ASCII # assume ascii "locale" ASCII = sre_compile.SRE_FLAG_ASCII # assume ascii "locale"
I = IGNORECASE = sre_compile.SRE_FLAG_IGNORECASE # ignore case IGNORECASE = sre_compile.SRE_FLAG_IGNORECASE # ignore case
L = LOCALE = sre_compile.SRE_FLAG_LOCALE # assume current 8-bit locale LOCALE = sre_compile.SRE_FLAG_LOCALE # assume current 8-bit locale
U = UNICODE = sre_compile.SRE_FLAG_UNICODE # assume unicode "locale" UNICODE = sre_compile.SRE_FLAG_UNICODE # assume unicode "locale"
M = MULTILINE = sre_compile.SRE_FLAG_MULTILINE # make anchors look for newline MULTILINE = sre_compile.SRE_FLAG_MULTILINE # make anchors look for newline
S = DOTALL = sre_compile.SRE_FLAG_DOTALL # make dot match newline DOTALL = sre_compile.SRE_FLAG_DOTALL # make dot match newline
X = VERBOSE = sre_compile.SRE_FLAG_VERBOSE # ignore whitespace and comments VERBOSE = sre_compile.SRE_FLAG_VERBOSE # ignore whitespace and comments
A = ASCII
# sre extensions (experimental, don't rely on these) I = IGNORECASE
T = TEMPLATE = sre_compile.SRE_FLAG_TEMPLATE # disable backtracking L = LOCALE
DEBUG = sre_compile.SRE_FLAG_DEBUG # dump pattern after compilation U = UNICODE
M = MULTILINE
S = DOTALL
X = VERBOSE
# sre extensions (experimental, don't rely on these)
TEMPLATE = sre_compile.SRE_FLAG_TEMPLATE # disable backtracking
T = TEMPLATE
DEBUG = sre_compile.SRE_FLAG_DEBUG # dump pattern after compilation
globals().update(RegexFlag.__members__)
# sre exception # sre exception
error = sre_compile.error error = sre_compile.error