如何获取Python正则表达式搜索找到匹配项的偏移量?

如何获取Python正则表达式搜索找到匹配项的偏移量?,python,regex,python-3.x,Python,Regex,Python 3.x,我正在尝试使用re.search()获取找到的匹配的偏移量 本网站解释了如何获取匹配组件相对于匹配开始的偏移量,但没有说明如何在“haystack”字符串中获取匹配本身的偏移量。您需要执行以下操作: import re for m in re.compile("[a-z]").finditer('what1is2'): print m.start(), m.group() 可以找到更多信息。我尝试使用match.start(),但它默认为组0,这是整个匹配,整个匹配与整个匹配的相对

我正在尝试使用re.search()获取找到的匹配的偏移量


本网站解释了如何获取匹配组件相对于匹配开始的偏移量,但没有说明如何在“haystack”字符串中获取匹配本身的偏移量。

您需要执行以下操作:

import re

for m in re.compile("[a-z]").finditer('what1is2'):
    print m.start(), m.group()

可以找到更多信息。

我尝试使用match.start(),但它默认为组0,这是整个匹配,整个匹配与整个匹配的相对偏移量为0。不管怎样,我的愚蠢。我以为我误解了如何使用正则表达式,但事实证明我的正则表达式与我预想的不一样。谢谢你的回答。如果我使用的是编译过的正则表达式而不是重新搜索,这会有不同的表现吗?别担心,我的愚蠢。我以为我误解了如何使用正则表达式,但事实证明我的正则表达式与我预想的不一样。谢谢你的回答。好的,很高兴你把问题解决了。
>>> import re
>>> s = 'Hello, this is a string'
>>> m = re.search(',\s[a-z]',s)
>>> m.group()
', t'
>>> m.start()
5