2014-03-27 57 views
3

我想使用Python匹配字符串中模式的所有實例。然而,當圖案重疊我只得到最長的一個,而我需要兩個:重疊模式的正則表達式

import re 
st = '''GYMGMTPRLGLESLLEStopAS''' 
w = re.findall("M\w*?(?=Stop)",st) 
print w 

輸出:

1. MGMTPRLGLESLLE 

所需的輸出:

1. MGMTPRLGLESLLE 
2. MTPRLGLESLLE 
+1

[Python正則表達式查找所有重疊匹配?]的可能重複(http://stackoverflow.com/query/ estions/5616822/python-regex-find-all-overlapping-matches) – Jerry

+0

這可能是一個重要的變體。 – sln

回答

4

(?=(M\w*?)Stop)然後overlapp數據在捕獲組1中。