Skip to content

Commit

Permalink
[3.11] GH-98906 re module: search() vs. match() section s…
Browse files Browse the repository at this point in the history
…hould mention ```fullmatch()``` (GH-98916) (GH-99912)

GH-98906 ```re``` module: ```search() vs. match()``` section should mention ```fullmatch()``` (GH-98916)

Mention fullmatch along with search and match.
(cherry picked from commit e0f91de)

Co-authored-by: ram vikram singh <ramvikrams243@gmail.com>

Co-authored-by: ram vikram singh <ramvikrams243@gmail.com>
  • Loading branch information
miss-islington and ramvikrams authored Nov 30, 2022
1 parent 90701eb commit f4511d3
Showing 1 changed file with 12 additions and 6 deletions.
18 changes: 12 additions & 6 deletions Doc/library/re.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1562,16 +1562,22 @@ search() vs. match()

.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>

Python offers two different primitive operations based on regular expressions:
:func:`re.match` checks for a match only at the beginning of the string, while
:func:`re.search` checks for a match anywhere in the string (this is what Perl
does by default).
Python offers different primitive operations based on regular expressions:

+ :func:`re.match` checks for a match only at the beginning of the string
+ :func:`re.search` checks for a match anywhere in the string
(this is what Perl does by default)
+ :func:`re.fullmatch` checks for entire string to be a match


For example::

>>> re.match("c", "abcdef") # No match
>>> re.search("c", "abcdef") # Match
<re.Match object; span=(2, 3), match='c'>
>>> re.fullmatch("p.*n", "python") # Match
<re.Match object; span=(0, 6), match='python'>
>>> re.fullmatch("r.*n", "python") # No match

Regular expressions beginning with ``'^'`` can be used with :func:`search` to
restrict the match at the beginning of the string::
Expand All @@ -1585,8 +1591,8 @@ Note however that in :const:`MULTILINE` mode :func:`match` only matches at the
beginning of the string, whereas using :func:`search` with a regular expression
beginning with ``'^'`` will match at the beginning of each line. ::

>>> re.match('X', 'A\nB\nX', re.MULTILINE) # No match
>>> re.search('^X', 'A\nB\nX', re.MULTILINE) # Match
>>> re.match("X", "A\nB\nX", re.MULTILINE) # No match
>>> re.search("^X", "A\nB\nX", re.MULTILINE) # Match
<re.Match object; span=(4, 5), match='X'>


Expand Down

0 comments on commit f4511d3

Please sign in to comment.