Commit 5206086e authored by Georg Brandl's avatar Georg Brandl

#4882: document named group behavior a bit better.

parent 7558d57a
...@@ -231,16 +231,18 @@ The special characters are: ...@@ -231,16 +231,18 @@ The special characters are:
``(?P<name>...)`` ``(?P<name>...)``
Similar to regular parentheses, but the substring matched by the group is 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 accessible within the rest of the regular expression via the symbolic group
identifiers, and each group name must be defined only once within a regular name *name*. Group names must be valid Python identifiers, and each group
expression. A symbolic group is also a numbered group, just as if the group name must be defined only once within a regular expression. A symbolic group
were not named. So the group named 'id' in the example below can also be is also a numbered group, just as if the group were not named. So the group
referenced as the numbered group 1. named ``id`` in the example below can also be referenced as the numbered group
``1``.
For example, if the pattern is ``(?P<id>[a-zA-Z_]\w*)``, the group can be For example, if the pattern is ``(?P<id>[a-zA-Z_]\w*)``, the group can be
referenced by its name in arguments to methods of match objects, such as referenced by its name in arguments to methods of match objects, such as
``m.group('id')`` or ``m.end('id')``, and also by name in pattern text (for ``m.group('id')`` or ``m.end('id')``, and also by name in the regular
example, ``(?P=id)``) and replacement text (such as ``\g<id>``). expression itself (using ``(?P=id)``) and replacement text given to
``.sub()`` (using ``\g<id>``).
``(?P=name)`` ``(?P=name)``
Matches whatever text was matched by the earlier group named *name*. Matches whatever text was matched by the earlier group named *name*.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment