diff options
author | andrei kulakov <andrei.avk@gmail.com> | 2022-02-05 03:54:28 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-05 03:54:28 (GMT) |
commit | fea7290a0ecee09bbce571d4d10f5881b7ea3485 (patch) | |
tree | 463766aa964faf353c68e991c0567da5852d66dd | |
parent | bf95ff91f2c1fc5a57190491f9ccdc63458b089e (diff) | |
download | cpython-fea7290a0ecee09bbce571d4d10f5881b7ea3485.zip cpython-fea7290a0ecee09bbce571d4d10f5881b7ea3485.tar.gz cpython-fea7290a0ecee09bbce571d4d10f5881b7ea3485.tar.bz2 |
bpo-31369: include ``RegexFlag`` in ``re.__all__`` (GH-30279)
* added RegexFlag to re.__all__; added RegexFlag.NOFLAG
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
-rw-r--r-- | Doc/library/re.rst | 16 | ||||
-rw-r--r-- | Lib/re.py | 3 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Library/2021-12-27-18-28-44.bpo-31369.b9yM94.rst | 2 |
3 files changed, 20 insertions, 1 deletions
diff --git a/Doc/library/re.rst b/Doc/library/re.rst index b12ce4b..8d62e3b 100644 --- a/Doc/library/re.rst +++ b/Doc/library/re.rst @@ -637,6 +637,11 @@ form. programs that use only a few regular expressions at a time needn't worry about compiling regular expressions. +.. class:: RegexFlag + + An :class:`enum.IntFlag` class containing the regex options listed below. + + .. versionadded:: 3.11 - added to ``__all__`` .. data:: A ASCII @@ -710,6 +715,17 @@ form. string and immediately before the newline (if any) at the end of the string. Corresponds to the inline flag ``(?m)``. +.. data:: NOFLAG + + Indicates no flag being applied, the value is ``0``. This flag may be used + as a default value for a function keyword argument or as a base value that + will be conditionally ORed with other flags. Example of use as a default + value:: + + def myfunc(text, flag=re.NOFLAG): + return re.match(text, flag) + + .. versionadded:: 3.11 .. data:: S DOTALL @@ -137,7 +137,7 @@ __all__ = [ "findall", "finditer", "compile", "purge", "template", "escape", "error", "Pattern", "Match", "A", "I", "L", "M", "S", "X", "U", "ASCII", "IGNORECASE", "LOCALE", "MULTILINE", "DOTALL", "VERBOSE", - "UNICODE", + "UNICODE", "NOFLAG", "RegexFlag", ] __version__ = "2.2.1" @@ -145,6 +145,7 @@ __version__ = "2.2.1" @enum.global_enum @enum._simple_enum(enum.IntFlag, boundary=enum.KEEP) class RegexFlag: + NOFLAG = 0 ASCII = A = sre_compile.SRE_FLAG_ASCII # assume ascii "locale" IGNORECASE = I = sre_compile.SRE_FLAG_IGNORECASE # ignore case LOCALE = L = sre_compile.SRE_FLAG_LOCALE # assume current 8-bit locale diff --git a/Misc/NEWS.d/next/Library/2021-12-27-18-28-44.bpo-31369.b9yM94.rst b/Misc/NEWS.d/next/Library/2021-12-27-18-28-44.bpo-31369.b9yM94.rst new file mode 100644 index 0000000..2bb9e62 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2021-12-27-18-28-44.bpo-31369.b9yM94.rst @@ -0,0 +1,2 @@ +Add :class:`~re.RegexFlag` to ``re.__all__`` and documented it. Add +:data:`~re.RegexFlag.NOFLAG` to indicate no flags being set. |