정규식 중복 일치 이해
re.findall()을 사용하여 정규 표현식과 일치시킬 때 중복 일치가 처리되는 방식을 이해하는 것이 중요합니다. 기본적으로 re.findall()은 겹치지 않는 일치 항목을 반환합니다.
사례 연구: hello 및 ww
다음 패턴을 고려하세요.
>>> match = re.findall(r'\w\w', 'hello') >>> print match ['he', 'll']
예상대로 이 패턴은 두 문자 시퀀스와 일치합니다. 그러나 'el' 또는 'lo'는 각각 'he' 및 'll'과 겹치므로 일치하지 않습니다.
Lookahead Assertions과 겹치는 일치
겹치는 일치 항목을 찾으려면 미리보기 어설션을 사용할 수 있습니다. (?=...)로 표시되는 예측 어설션은 입력 문자열을 사용하지 않고 지정된 패턴이 다음에 존재하는지 확인합니다.
이 개념을 사용하여 다음 표현식은 겹치는 일치 항목과 겹치지 않는 일치 항목을 모두 성공적으로 캡처합니다.
>>> re.findall(r'(?=(\w\w))', 'hello') ['he', 'el', 'll', 'lo']
이제 패턴은 "두 글자 단어가 이어지는 위치를 찾으세요."로 표시됩니다. 이렇게 하면 겹치는 시퀀스와 겹치지 않는 시퀀스를 모두 포함하여 가능한 모든 일치 시퀀스가 캡처됩니다.
위 내용은 `re.findall()`은 정규 표현식에서 중복되는 일치 항목을 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!