하위 문자열의 모든 발생 찾기
Python은 string.find() 및 string.rfind( 함수를 포함하여 광범위한 문자열 조작 기능을 제공합니다. ) 이는 각각 처음과 끝에서 부분 문자열이 처음 나타나는 것을 검색합니다. 그러나 하위 문자열의 모든 항목을 찾으려고 할 때 이러한 함수는 부족합니다.
해결책: 정규 표현식 활용
내장된 "문자열이 없는 경우 .find_all()" 함수를 사용하면 정규식의 강력한 기능을 활용할 수 있습니다.
import re text = "test test test test" # Find all occurrences of "test" matches = [m.start() for m in re.finditer('test', text)] # Print the found indexes print(matches) # [0, 5, 10, 15]
이 솔루션은 반복됩니다. 발견된 각 항목에 대해 일치 개체를 생성하는 생성기인 re.finditer('test', text)의 결과에 대해 설명합니다. 각 일치 항목에서 start() 속성을 추출하여 원본 문자열에서 하위 문자열의 위치를 나타내는 인덱스 목록을 얻습니다.
겹치는 일치 항목 처리
If 겹치는 일치가 허용되면 정규 구문에서 예측 어설션을 사용하여 캡처할 수 있습니다. 표현식:
matches = [m.start() for m in re.finditer('(?=tt)', 'ttt')] # [0, 1]
역방향 검색 수행
겹침 없이 모두 역방향 찾기를 수행하려면 긍정 및 부정 예측의 조합을 사용할 수 있습니다.
search = 'tt' matches = [m.start() for m in re.finditer('(?=%s)(?!.{1,%d}%s)' % (search, len(search)-1, search), 'ttt')] # [1]
정규 표현식을 활용하면 Python에서 모든 하위 문자열 발생을 효과적으로 식별하고 검색할 수 있습니다. 문자열입니다.
위 내용은 Python 문자열에서 하위 문자열의 모든 발생을 어떻게 찾을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!