所有重叠匹配的开始和结束索引,这是我原来的做法:蟒蛇3的regex - 查找的字符串
string = '1'*15
result = re.finditer(r'(?=11111)', string) # overlapped = True
# Doesn't work for me
for i in result: # python 3.5
print(i.start(), i.end())
它发现所有重叠的比赛,但未能得到正确的结束索引。 输出:
1 <_sre.SRE_Match object; span=(0, 0), match=''>
2 <_sre.SRE_Match object; span=(1, 1), match=''>
3 <_sre.SRE_Match object; span=(2, 2), match=''>
4 <_sre.SRE_Match object; span=(3, 3), match=''>
(and so on..)
我的问题: 我怎样才能找到所有重叠的匹配,并得到所有的开始和结束指数权呢?
的样本那请问工作 - 我的坏。 – Bjango
为什么你必须在“i.start(1)”和“i.end(1)”中键入'1'? 在我的脑海里“i.start()”应该够了,显然不是。 – Bjango
你需要获得组1的开始和结束位置。 'i.start()'='i.start(0)',整个匹配的开始位置。匹配是一个空字符串,即字符串中的一个位置,但捕获组保存实际值。 –