GNU Info

Info Node: (python2.1-lib.info)Matching vs. Searching

(python2.1-lib.info)Matching vs. Searching


Next: Contents of Module re Prev: Regular Expression Syntax Up: re
Enter node , (file) or (file)node

Matching vs. Searching
----------------------

This manual section was written by Fred L. Drake, Jr. <fdrake@acm.org>.
Python offers two different primitive operations based on regular
expressions: match and search.  If you are accustomed to Perl's
semantics, the search operation is what you're looking for.  See the
`search()' function and corresponding method of compiled regular
expression objects.

Note that match may differ from search using a regular expression
beginning with `^': `^' matches only at the start of the string, or in
`MULTILINE' mode also immediately following a newline.  The "match"
operation succeeds only if the pattern matches at the start of the
string regardless of mode, or at the starting position given by the
optional POS argument regardless of whether a newline precedes it.

     re.compile("a").match("ba", 1)           # succeeds
     re.compile("^a").search("ba", 1)         # fails; 'a' not at start
     re.compile("^a").search("\na", 1)        # fails; 'a' not at start
     re.compile("^a", re.M).search("\na", 1)  # succeeds
     re.compile("^a", re.M).search("ba", 1)   # fails; no preceding \n


automatically generated by info2www version 1.2.2.9