用法:
Match.group([group1, ...])
返回匹配的一个或多个子组。如果只有一个参数,则结果为单个字符串;如果有多个参数,则结果是一个元组,每个参数一个项目。如果没有参数,
group1
默认为零(返回整个匹配项)。如果groupN
参数为零,则相应的返回值是整个匹配字符串;如果在包含范围 [1..99] 内,则为匹配相应括号组的字符串。如果组数为负数或大于模式中定义的组数,则会引发IndexError
异常。如果组包含在不匹配的模式部分中,则相应的结果为None
。如果组包含在多次匹配的模式的一部分中,则返回最后一个匹配项。>>> m = re.match(r"(\w+) (\w+)", "Isaac Newton, physicist") >>> m.group(0) # The entire match 'Isaac Newton' >>> m.group(1) # The first parenthesized subgroup. 'Isaac' >>> m.group(2) # The second parenthesized subgroup. 'Newton' >>> m.group(1, 2) # Multiple arguments give us a tuple. ('Isaac', 'Newton')
如果正则表达式使用
(?P<name>...)
语法,则groupN
参数也可以是通过组名标识组的字符串。如果字符串参数未用作模式中的组名,则会引发IndexError
异常。一个中等复杂的例子:
>>> m = re.match(r"(?P<first_name>\w+) (?P<last_name>\w+)", "Malcolm Reynolds") >>> m.group('first_name') 'Malcolm' >>> m.group('last_name') 'Reynolds'
命名组也可以通过它们的索引来引用:
>>> m.group(1) 'Malcolm' >>> m.group(2) 'Reynolds'
如果一个组匹配多次,则只能访问最后一个匹配:
>>> m = re.match(r"(..)+", "a1b2c3") # Matches 3 times. >>> m.group(1) # Returns only the last match. 'c3'
相关用法
- Python re.Match.groupdict用法及代码示例
- Python re.Match.groups用法及代码示例
- Python re.Match.start用法及代码示例
- Python re.Match.__getitem__用法及代码示例
- Python Regex re.MatchObject.groups()用法及代码示例
- Python Regex re.MatchObject.groupdict()用法及代码示例
- Python re.compile用法及代码示例
- Python re.fullmatch()用法及代码示例
- Python re.split用法及代码示例
- Python re.Pattern.match用法及代码示例
- Python re.Pattern.search用法及代码示例
- Python re.escape用法及代码示例
- Python re.search() vs re.match()用法及代码示例
- Python re.sub用法及代码示例
- Python re.findall用法及代码示例
- Python re.Pattern.fullmatch用法及代码示例
- Python re.X用法及代码示例
- Python Numpy recarray.tostring()用法及代码示例
- Python reduce()用法及代码示例
- Python response.status_code用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 re.Match.group。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。