The subject of regular expressions is quite deep, and it takes an immense amount of practice to get used to the special character syntax. Furthermore, the re module contains a vast set of methods available for performing searches using regular expressions. Upon completing the examples in this section, you should have a much deeper appreciation for how powerful regular expressions can be.
Regular Expressions
Finding Patterns in Text
The most common use for re
is to search for patterns in text. The search()
function takes the pattern and text to scan, and returns a Match
object when the pattern is found. If the pattern is not found, search()
returns None
.
Each Match
object holds information about the nature of the match, including the original input string, the regular expression used, and the location within the original string where the pattern occurs.
# re_simple_match.py import re pattern = 'this' text = 'Does this text match the pattern?' match = re.search(pattern, text) s = match.start() e = match.end() print('Found "{}"\nin "{}"\nfrom {} to {} ("{}")'.format( match.re.pattern, match.string, s, e, text[s:e])) import re pattern = 'this' text = 'Does this text match the pattern?' match = re.search(pattern, text) s = match.start() e = match.end() print('Found "{}"\nin "{}"\nfrom {} to {} ("{}")'.format( match.re.pattern, match.string, s, e, text[s:e]))
The start()
and end()
methods give the indexes into the string showing where the text matched by the pattern occurs.
$ python3 re_simple_match.py Found "this" in "Does this text match the pattern?" from 5 to 9 ("this")