2014-02-09 3 views
0

여러 번 패턴과 일치하는 정규식을 구성 할 수 있습니까?정규식을 여러 번 일치

예를 들어 fff에서 ff을 검색하면 두 개의 일치 항목이 제공됩니다. 시작 위치는 각각 0과 1입니다.

+0

Xavier가 맞습니다. 감사. –

답변

2

예, 가능합니다. 이 경우 positive lookahead을 사용할 수 있습니다.

>>> import re 
>>> [m.start() for m in re.finditer(r'f(?=f)', 'fff')] 
[0, 1] 
+0

함수'finditer'는 중복되지 않는 인스턴스 만 반환합니다. "문자열의 RE 패턴에 대해 겹치지 않는 모든 일치에 대해 MatchObject 인스턴스를 생성하는 반복자 반환"http://docs.python.org/2/library/re.html –

+0

참조 @Desolator ['re .findall'] (http://docs.python.org/2/library/re.html#re.findall)을 참조하십시오. –

+0

단점은'm.groups()'는 더 이상 쓸모가 없어졌습니다. – nodakai

0

예. 경기처럼 검색 지역을 제한하는 컴파일 된 패턴을 사용하여 findall은() 함수와 유사

findall(string[, pos[, endpos]])하지만 도 허용 옵션 POS 및 endpos는 매개 변수()를 사용합니다.

예 : + 1m.start()에서 검색을 시작할 때마다 검색이 시작됩니다.

관련 문제