2014-03-27 2 views
3

파이썬을 사용하여 문자열에서 패턴의 모든 인스턴스를 일치 시키려고합니다. 출력 중복 패턴의 정규식

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

:

1. MGMTPRLGLESLLE 

원하는 출력 :

1. MGMTPRLGLESLLE 
2. MTPRLGLESLLE 
+1

가능한 중복 [파이썬 정규식의 모든 중복 일치를 찾으십시오?] (http://stackoverflow.com/qu estions/5616822/python-regex-find-all-overlapping-matches) – Jerry

+0

이것은 아마도 그 중대한 변형입니다. – sln

답변

4

(?=(M\w*?)Stop)는 그 다음 overlapp 데이터는 패턴이 중복 때 모두가 필요로하는 동안 그러나, 나는, 단지 가장 긴 하나 얻을 캡처 그룹 1에서.

관련 문제