s = 'It is "a" good "day" today.'
s
import re
m = re.search('".*?"', s)
m
m.group(0)
help(m.group)
expand¶
m.expand()
group¶
Returns one or more subgroups of the match. If there is a single argument, the result is a single string; if there are multiple arguments, the result is a tuple with one item per argument. Without arguments, group1 defaults to zero (the whole match is returned). If a groupN argument is zero, the corresponding return value is the entire matching string; if it is in the inclusive range [1..99], it is the string matching the corresponding parenthesized group. If a group number is negative or larger than the number of groups defined in the pattern, an IndexError exception is raised. If a group is contained in a part of the pattern that did not match, the corresponding result is None. If a group is contained in a part of the pattern that matched multiple times, the last match is returned.
m = re.match(r"(\w+) (\w+)", "Isaac Newton, physicist")
The entire match.
m.group(0)
The first paraenthesized subgroup.
m.group(1)
The second parenthesized subgroup.
m.group(2)
Multiple arguments give us a tuple.
m.group(1, 2)
If the regular expression uses the (?P
A moderately complicated example:
m = re.match(r"(?P<first_name>\w+) (?P<last_name>\w+)", "Malcolm Reynolds")
m.group("first_name")
m.group("last_name")
Named groups can also be referred to by their index:
m.group(1)
m.group(2)
If a group matches multiple times, only the last match is accessible:
m = re.match(r"(..)+", "a1b2c3") # Matches 3 times.
m.group(1) # Returns only the last match.
groups¶
start¶
end¶
span¶