]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-99308: Clarify re docs for byte pattern group names (#99311)
authorIlya Kulakov <kulakov.ilya@gmail.com>
Sun, 25 Dec 2022 06:55:27 +0000 (22:55 -0800)
committerGitHub <noreply@github.com>
Sun, 25 Dec 2022 06:55:27 +0000 (12:25 +0530)
Doc/library/re.rst

index cbee70b01d9f46d1d67c2a4470104aa27863eb91..d0a16b95184474a5e8a572b5919e842a9e5ac140 100644 (file)
@@ -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
+   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)