겹치는 정규식 일치: 모든 숫자 계열 찾기
소개
다음 질문이 발생합니다. 다음을 사용하여 더 큰 숫자 모음 내에서 겹치는 모든 10자리 숫자 계열을 찾는 방법 Python 2.6의 're' 모듈. 겹치지 않는 일치 항목은 간단하지만 모든 항목을 추출하는 것은 어려운 일입니다.
해결책
이 문제를 해결하기 위해 미리보기 내에 캡처 그룹을 사용할 수 있습니다. 미리보기는 원하는 시퀀스를 식별하지만 실제 일치는 그 앞의 너비가 0인 하위 문자열에 해당하므로 겹치지 않습니다.
구현
import re s = "123456789123456789" matches = re.finditer(r'(?=(\d{10}))', s) results = [int(match.group(1)) for match in matches]
출력
[1234567891, 2345678912, 3456789123, 4567891234, 5678912345, 6789123456, 7891234567, 8912345678, 9123456789]
설명
정규 표현식 (?=(d{10}))는 바로 오른쪽에 10자리 숫자 시리즈(d{10})를 나타내는 캡처 그룹이 있다고 주장합니다. 미리보기는 어떤 문자도 사용하지 않으므로 실제 일치 항목은 개별 10자리 계열인 미리보기 앞의 길이가 0인 하위 문자열입니다.
위 내용은 Python의 `re` 모듈을 사용하여 문자열에서 겹치는 10자리 숫자 시리즈를 모두 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!