Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Hands on the re.match Object in Python

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!

'It is "a" good "day" today.'
<_sre.SRE_Match object; span=(6, 9), match='"a"'>
'"a"'
Help on built-in function group:

group(...) method of _sre.SRE_Match instance
    group([group1, ...]) -> str or tuple.
    Return subgroup(s) of the match by indices or names.
    For 0 returns the entire match.

expand

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-6-205cc63d2100> in <module>()
----> 1 m.expand()

TypeError: Required argument 'template' (pos 1) not found

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.

The entire match.

'Isaac Newton'

The first paraenthesized subgroup.

'Isaac'

The second parenthesized subgroup.

'Newton'

Multiple arguments give us a tuple.

('Isaac', 'Newton')

If the regular expression uses the (?P...) syntax, the groupN arguments may also be strings identifying groups by their group name. If a string argument is not used as a group name in the pattern, an IndexError exception is raised.

A moderately complicated example:

'Malcolm'
'Reynolds'

Named groups can also be referred to by their index:

'Malcolm'
'Reynolds'

If a group matches multiple times, only the last match is accessible:

'c3'

groups

start

end

span