2016-11-19 42 views
0

我想使用Python的re模块查找字符串aaabaaaa的所有匹配项。如何查找所有出现的子字符串?

我的代码:

import re 
s=input() 
s1=input() 
m=re.compile('(?<='+s1[0]+')'+s1[1:len(s1)]) 
for i in m.finditer(s): 
    print(i.span()) 

实际输出:

(1, 2)(2, 3)(5, 6) 

所需的输出:

(0, 1)(1, 2)(4, 5) 

我找不到在哪里这是怎么了。

如何获得所需的输出?

回答

0

你可以这样做:

for i in re.finditer(r'(?=(aa)).', s): 
    print(i.span()) 
+0

其实我的问题是在-aabcabcabab- –

+0

@rajivdas任何有效的子串和字符串像-aba-:在这种情况下,你需要使用建立它自己起始位置和子字符串长度(或者如果使用模式代替子字符串,则捕获组长度)。 –

相关问题