Python正则表达式,匹配组范围(开始和结束)

时间:2015-10-18 12:03:12

标签: python regex

如何通过正则表达式查找内部组的范围? 我有以下代码,但我不知道如何在括号内得到匹配组的跨度(开始,结束):

statement = r'new (car)|old (car)'
text = 'I bought a new car and got rid of the old car'
match = re.search(statement, text)
match.span()
Out: (11, 18)
for match in re.finditer(statement, text):
    print match.span()
Out: (11, 18)
Out: (38, 45)

在这种情况下,例如,我只需要匹配'car'的范围而不是整个语句。

1 个答案:

答案 0 :(得分:8)

你需要传递span一个论点:

for match in re.finditer(statement, text):
    print match.span(1)

1表示第一个组,默认值为零 - 表示整个匹配。