[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