여러 줄 텍스트 블록 일치를 위한 정규 표현식
Python에서는 여러 줄에 걸쳐 텍스트를 일치시키는 것이 어려울 수 있습니다. 이 기사는 여러 줄 블록 및 관련 줄 그룹을 캡처하는 간결한 솔루션을 제공합니다.
다음 텍스트 형식을 고려하세요.
some Varying TEXT DSJFKDAFJKDAFJDSAKFJADSFLKDLAFKDSAF [more of the above, ending with a newline] [yep, there is a variable number of lines here] (repeat the above a few hundred times).
목표는 두 그룹, 즉 "일부 다양한 텍스트"를 캡처하는 것입니다. " 줄과 그 이후의 대문자 줄(줄바꿈 없음)은 하나의 캡처 그룹에 포함됩니다.
Lösungsansatz
re.compile(r"^(.+)\n((?:\n.+)+)", re.MULTILINE)
Erläuterung
Beispiel
text = "some Varying TEXT\nDSJFKDAFJKDAFJDSAKFJADSFLKDLAFKDSAF\n[more of the above]\n[yep, there is a newline]\n(repeat the above)." match = re.match(r"^(.+)\n((?:\n.+)+)", text, re.MULTILINE) print(match.group(1)) # "some Varying Text" print(match.group(2)) # "DSJFKDAFJKDAFJDSAKFJADSFLKDLAFKDSAF\n[more of the above]\n[yep, there is a newline]"
이 접근 방식은 Python의 re 모듈과 MULTILINE 옵션을 활용하여 여러 줄 일치를 활성화하고 앵커링 문제를 방지합니다.
위 내용은 Python에서 정규식을 사용하여 여러 줄의 텍스트 블록을 캡처하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!