#15920: merge with 3.2.
This commit is contained in:
commit
8646e8ea72
|
@ -260,7 +260,7 @@ performing string substitutions. ::
|
|||
|
||||
>>> import re
|
||||
>>> p = re.compile('ab*')
|
||||
>>> p
|
||||
>>> p #doctest: +ELLIPSIS
|
||||
<_sre.SRE_Pattern object at 0x...>
|
||||
|
||||
:func:`re.compile` also accepts an optional *flags* argument, used to enable
|
||||
|
@ -372,7 +372,7 @@ Python interpreter, import the :mod:`re` module, and compile a RE::
|
|||
|
||||
>>> import re
|
||||
>>> p = re.compile('[a-z]+')
|
||||
>>> p
|
||||
>>> p #doctest: +ELLIPSIS
|
||||
<_sre.SRE_Pattern object at 0x...>
|
||||
|
||||
Now, you can try matching various strings against the RE ``[a-z]+``. An empty
|
||||
|
@ -390,7 +390,7 @@ case, :meth:`match` will return a :class:`MatchObject`, so you should store the
|
|||
result in a variable for later use. ::
|
||||
|
||||
>>> m = p.match('tempo')
|
||||
>>> m
|
||||
>>> m #doctest: +ELLIPSIS
|
||||
<_sre.SRE_Match object at 0x...>
|
||||
|
||||
Now you can query the :class:`MatchObject` for information about the matching
|
||||
|
@ -429,7 +429,7 @@ case. ::
|
|||
|
||||
>>> print(p.match('::: message'))
|
||||
None
|
||||
>>> m = p.search('::: message') ; print(m)
|
||||
>>> m = p.search('::: message'); print(m) #doctest: +ELLIPSIS
|
||||
<_sre.SRE_Match object at 0x...>
|
||||
>>> m.group()
|
||||
'message'
|
||||
|
@ -458,7 +458,7 @@ result. The :meth:`finditer` method returns a sequence of :class:`MatchObject`
|
|||
instances as an :term:`iterator`::
|
||||
|
||||
>>> iterator = p.finditer('12 drummers drumming, 11 ... 10 ...')
|
||||
>>> iterator
|
||||
>>> iterator #doctest: +ELLIPSIS
|
||||
<callable_iterator object at 0x...>
|
||||
>>> for match in iterator:
|
||||
... print(match.span())
|
||||
|
@ -480,7 +480,7 @@ the RE string added as the first argument, and still return either ``None`` or a
|
|||
|
||||
>>> print(re.match(r'From\s+', 'Fromage amk'))
|
||||
None
|
||||
>>> re.match(r'From\s+', 'From amk Thu May 14 19:12:10 1998')
|
||||
>>> re.match(r'From\s+', 'From amk Thu May 14 19:12:10 1998') #doctest: +ELLIPSIS
|
||||
<_sre.SRE_Match object at 0x...>
|
||||
|
||||
Under the hood, these functions simply create a pattern object for you
|
||||
|
@ -682,7 +682,7 @@ given location, they can obviously be matched an infinite number of times.
|
|||
For example, if you wish to match the word ``From`` only at the beginning of a
|
||||
line, the RE to use is ``^From``. ::
|
||||
|
||||
>>> print(re.search('^From', 'From Here to Eternity'))
|
||||
>>> print(re.search('^From', 'From Here to Eternity')) #doctest: +ELLIPSIS
|
||||
<_sre.SRE_Match object at 0x...>
|
||||
>>> print(re.search('^From', 'Reciting From Memory'))
|
||||
None
|
||||
|
@ -694,11 +694,11 @@ given location, they can obviously be matched an infinite number of times.
|
|||
Matches at the end of a line, which is defined as either the end of the string,
|
||||
or any location followed by a newline character. ::
|
||||
|
||||
>>> print(re.search('}$', '{block}'))
|
||||
>>> print(re.search('}$', '{block}')) #doctest: +ELLIPSIS
|
||||
<_sre.SRE_Match object at 0x...>
|
||||
>>> print(re.search('}$', '{block} '))
|
||||
None
|
||||
>>> print(re.search('}$', '{block}\n'))
|
||||
>>> print(re.search('}$', '{block}\n')) #doctest: +ELLIPSIS
|
||||
<_sre.SRE_Match object at 0x...>
|
||||
|
||||
To match a literal ``'$'``, use ``\$`` or enclose it inside a character class,
|
||||
|
@ -723,7 +723,7 @@ given location, they can obviously be matched an infinite number of times.
|
|||
match when it's contained inside another word. ::
|
||||
|
||||
>>> p = re.compile(r'\bclass\b')
|
||||
>>> print(p.search('no class at all'))
|
||||
>>> print(p.search('no class at all')) #doctest: +ELLIPSIS
|
||||
<_sre.SRE_Match object at 0x...>
|
||||
>>> print(p.search('the declassified algorithm'))
|
||||
None
|
||||
|
@ -741,7 +741,7 @@ given location, they can obviously be matched an infinite number of times.
|
|||
>>> p = re.compile('\bclass\b')
|
||||
>>> print(p.search('no class at all'))
|
||||
None
|
||||
>>> print(p.search('\b' + 'class' + '\b') )
|
||||
>>> print(p.search('\b' + 'class' + '\b')) #doctest: +ELLIPSIS
|
||||
<_sre.SRE_Match object at 0x...>
|
||||
|
||||
Second, inside a character class, where there's no use for this assertion,
|
||||
|
@ -1182,9 +1182,9 @@ compute the desired replacement string and return it.
|
|||
In the following example, the replacement function translates decimals into
|
||||
hexadecimal::
|
||||
|
||||
>>> def hexrepl( match ):
|
||||
>>> def hexrepl(match):
|
||||
... "Return the hex string for a decimal number"
|
||||
... value = int( match.group() )
|
||||
... value = int(match.group())
|
||||
... return hex(value)
|
||||
...
|
||||
>>> p = re.compile(r'\d+')
|
||||
|
|
Loading…
Reference in New Issue