2016-11-19 44 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-:在這種情況下,你需要使用建立它自己起始位置和子字符串長度(或者如果使用模式代替子字符串,則捕獲組長度)。 –

相關問題