mirror of https://github.com/python/cpython
Merge
This commit is contained in:
commit
eeb905bd7b
|
@ -80,7 +80,7 @@ Some characters, like ``'|'`` or ``'('``, are special. Special
|
||||||
characters either stand for classes of ordinary characters, or affect
|
characters either stand for classes of ordinary characters, or affect
|
||||||
how the regular expressions around them are interpreted. Regular
|
how the regular expressions around them are interpreted. Regular
|
||||||
expression pattern strings may not contain null bytes, but can specify
|
expression pattern strings may not contain null bytes, but can specify
|
||||||
the null byte using the ``\number`` notation, e.g., ``'\x00'``.
|
the null byte using a ``\number`` notation such as ``'\x00'``.
|
||||||
|
|
||||||
|
|
||||||
The special characters are:
|
The special characters are:
|
||||||
|
@ -405,7 +405,7 @@ accepted by the regular expression parser::
|
||||||
\r \t \v \x
|
\r \t \v \x
|
||||||
\\
|
\\
|
||||||
|
|
||||||
Octal escapes are included in a limited form: If the first digit is a 0, or if
|
Octal escapes are included in a limited form. If the first digit is a 0, or if
|
||||||
there are three octal digits, it is considered an octal escape. Otherwise, it is
|
there are three octal digits, it is considered an octal escape. Otherwise, it is
|
||||||
a group reference. As for string literals, octal escapes are always at most
|
a group reference. As for string literals, octal escapes are always at most
|
||||||
three digits in length.
|
three digits in length.
|
||||||
|
@ -413,8 +413,8 @@ three digits in length.
|
||||||
|
|
||||||
.. _matching-searching:
|
.. _matching-searching:
|
||||||
|
|
||||||
Matching vs Searching
|
Matching vs. Searching
|
||||||
---------------------
|
----------------------
|
||||||
|
|
||||||
.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
|
.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
|
||||||
|
|
||||||
|
@ -595,8 +595,7 @@ form.
|
||||||
['', '...', 'words', ', ', 'words', '...', '']
|
['', '...', 'words', ', ', 'words', '...', '']
|
||||||
|
|
||||||
That way, separator components are always found at the same relative
|
That way, separator components are always found at the same relative
|
||||||
indices within the result list (e.g., if there's one capturing group
|
indices within the result list.
|
||||||
in the separator, the 0th, the 2nd and so forth).
|
|
||||||
|
|
||||||
Note that *split* will never split a string on an empty pattern match.
|
Note that *split* will never split a string on an empty pattern match.
|
||||||
For example:
|
For example:
|
||||||
|
@ -716,7 +715,7 @@ Regular Expression Objects
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
Compiled regular expression objects support the following methods and
|
Compiled regular expression objects support the following methods and
|
||||||
attributes.
|
attributes:
|
||||||
|
|
||||||
.. method:: regex.search(string[, pos[, endpos]])
|
.. method:: regex.search(string[, pos[, endpos]])
|
||||||
|
|
||||||
|
@ -735,7 +734,7 @@ attributes.
|
||||||
The optional parameter *endpos* limits how far the string will be searched; it
|
The optional parameter *endpos* limits how far the string will be searched; it
|
||||||
will be as if the string is *endpos* characters long, so only the characters
|
will be as if the string is *endpos* characters long, so only the characters
|
||||||
from *pos* to ``endpos - 1`` will be searched for a match. If *endpos* is less
|
from *pos* to ``endpos - 1`` will be searched for a match. If *endpos* is less
|
||||||
than *pos*, no match will be found, otherwise, if *rx* is a compiled regular
|
than *pos*, no match will be found; otherwise, if *rx* is a compiled regular
|
||||||
expression object, ``rx.search(string, 0, 50)`` is equivalent to
|
expression object, ``rx.search(string, 0, 50)`` is equivalent to
|
||||||
``rx.search(string[:50], 0)``.
|
``rx.search(string[:50], 0)``.
|
||||||
|
|
||||||
|
@ -823,8 +822,8 @@ attributes.
|
||||||
Match Objects
|
Match Objects
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
Match objects always have a boolean value of :const:`True`, so that you can test
|
Match objects always have a boolean value of :const:`True`. This lets you
|
||||||
whether e.g. :func:`match` resulted in a match with a simple if statement. They
|
use a simple if-statement to test whether a match was found. Match objects
|
||||||
support the following methods and attributes:
|
support the following methods and attributes:
|
||||||
|
|
||||||
|
|
||||||
|
@ -1001,7 +1000,7 @@ Regular Expression Examples
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
|
|
||||||
Checking For a Pair
|
Checking for a Pair
|
||||||
^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
In this example, we'll use the following helper function to display match
|
In this example, we'll use the following helper function to display match
|
||||||
|
@ -1109,7 +1108,7 @@ Avoiding recursion
|
||||||
|
|
||||||
If you create regular expressions that require the engine to perform a lot of
|
If you create regular expressions that require the engine to perform a lot of
|
||||||
recursion, you may encounter a :exc:`RuntimeError` exception with the message
|
recursion, you may encounter a :exc:`RuntimeError` exception with the message
|
||||||
``maximum recursion limit`` exceeded. For example, ::
|
``maximum recursion limit exceeded``. For example, ::
|
||||||
|
|
||||||
>>> s = 'Begin ' + 1000*'a very long string ' + 'end'
|
>>> s = 'Begin ' + 1000*'a very long string ' + 'end'
|
||||||
>>> re.match('Begin (\w| )*? end', s).end()
|
>>> re.match('Begin (\w| )*? end', s).end()
|
||||||
|
|
Loading…
Reference in New Issue