如何通过正则表达式查找内部组的范围? 我有以下代码,但我不知道如何在括号内得到匹配组的跨度(开始,结束):
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'的范围而不是整个语句。
答案 0 :(得分:8)
你需要传递span
一个论点:
for match in re.finditer(statement, text):
print match.span(1)
1表示第一个组,默认值为零 - 表示整个匹配。