[Python-checkins] gh-99308: Clarify re docs for byte pattern group names (#99311)

kumaraditya303 webhook-mailer at python.org
Sun Dec 25 01:55:32 EST 2022


https://github.com/python/cpython/commit/dbc1e696ebf273bc62545d999eb185d6c9470e71
commit: dbc1e696ebf273bc62545d999eb185d6c9470e71
branch: main
author: Ilya Kulakov <kulakov.ilya at gmail.com>
committer: kumaraditya303 <59607654+kumaraditya303 at users.noreply.github.com>
date: 2022-12-25T12:25:27+05:30
summary:

gh-99308: Clarify re docs for byte pattern group names (#99311)

files:
M Doc/library/re.rst

diff --git a/Doc/library/re.rst b/Doc/library/re.rst
index cbee70b01d9f..d0a16b951844 100644
--- a/Doc/library/re.rst
+++ b/Doc/library/re.rst
@@ -395,9 +395,9 @@ The special characters are:
 ``(?P<name>...)``
    Similar to regular parentheses, but the substring matched by the group is
    accessible via the symbolic group name *name*.  Group names must be valid
-   Python identifiers, and in bytes patterns they must contain only characters
-   in the ASCII range.  Each group name must be defined only once within a
-   regular expression.  A symbolic group is also a numbered group, just as if
+   Python identifiers, and in :class:`bytes` patterns they can only contain
+   bytes in the ASCII range.  Each group name must be defined only once within
+   a regular expression.  A symbolic group is also a numbered group, just as if
    the group were not named.
 
    Named groups can be referenced in three contexts.  If the pattern is
@@ -419,8 +419,8 @@ The special characters are:
    +---------------------------------------+----------------------------------+
 
    .. versionchanged:: 3.12
-      In bytes patterns group names must contain only characters in
-      the ASCII range.
+      In :class:`bytes` patterns, group *name* can only contain bytes
+      in the ASCII range (``b'\x00'``-``b'\x7f'``).
 
 .. index:: single: (?P=; in regular expressions
 
@@ -496,6 +496,8 @@ The special characters are:
 
    .. versionchanged:: 3.12
       Group *id* can only contain ASCII digits.
+      In :class:`bytes` patterns, group *name* can only contain bytes
+      in the ASCII range (``b'\x00'``-``b'\x7f'``).
 
 
 The special sequences consist of ``'\'`` and a character from the list below.
@@ -1018,8 +1020,8 @@ Functions
 
    .. versionchanged:: 3.12
       Group *id* can only contain ASCII digits.
-      In bytes replacement strings group names must contain only characters
-      in the ASCII range.
+      In :class:`bytes` replacement strings, group *name* can only contain bytes
+      in the ASCII range (``b'\x00'``-``b'\x7f'``).
 
 
 .. function:: subn(pattern, repl, string, count=0, flags=0)



More information about the Python-checkins mailing list