]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.11] GH-98906 ```re``` module: ```search() vs. match()``` section should mention...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 30 Nov 2022 23:14:36 +0000 (15:14 -0800)
committerGitHub <noreply@github.com>
Wed, 30 Nov 2022 23:14:36 +0000 (18:14 -0500)
GH-98906 ```re``` module: ```search() vs. match()``` section should mention ```fullmatch()``` (GH-98916)

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

Co-authored-by: ram vikram singh <ramvikrams243@gmail.com>
Co-authored-by: ram vikram singh <ramvikrams243@gmail.com>
Doc/library/re.rst

index a9e6ac30d16c882c32bde167a8fdb13b21215f60..8e279049a1c2d2ff9ff3c7f928bc4981fbc6fe0f 100644 (file)
@@ -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::
@@ -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'>