Python에서 정규 표현식과 일치 항목이 겹치는 경우
겹치는 경우에도 패턴의 모든 항목을 찾는 것이 어려울 수 있습니다. 그러나 정규식의 기능을 활용하면 이 문제를 쉽게 해결할 수 있습니다.
예를 들어 더 큰 숫자 문자열에서 10자리 숫자 계열을 모두 추출해야 한다고 가정해 보겠습니다. 중복되지 않는 일치 항목으로 제한하는 대신 중복 항목을 수용하여 전체 목록을 수집할 수 있습니다.
이를 달성하려면 미리보기 내에 캡처 그룹을 사용하는 것이 핵심입니다. 미리보기는 원하는 관심 시퀀스를 캡처하지만 실제 일치는 미리보기 이전의 너비가 0인 하위 문자열이므로 일치 항목은 겹치지 않는 상태로 유지됩니다.
import re s = "123456789123456789" matches = re.finditer(r'(?=(\d{10}))', s) results = [int(match.group(1)) for match in matches] print(results) # [1234567891, 2345678912, 3456789123, ...]
이 접근 방식은 겹치는 부분이 포함된 목록을 생성합니다. 일치하므로 원래 문자열에서 지정된 숫자 시퀀스의 모든 인스턴스를 캡처할 수 있습니다.
위 내용은 Python의 정규식은 어떻게 중복되는 일치 항목을 찾을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!