여러 줄 텍스트 블록 일치를 위한 정규식
여러 줄에 걸쳐 있는 텍스트를 일치시키면 정규식 구성이 어려울 수 있습니다. 다음 예제 텍스트를 고려하십시오.
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)
목표는 두 가지 구성 요소, 즉 "some Varying TEXT" 부분과 빈 줄을 제외한 모든 후속 대문자 텍스트 줄을 캡처하는 것입니다.
잘못된 접근 방식:
이 문제를 해결하기 위한 몇 가지 잘못된 접근 방식은 다음과 같습니다.
해결책:
다음 정규식은 원하는 구성 요소를 올바르게 캡처합니다.
^(.+)\n((?:\n.+)+)
다음은 해당 구성 요소에 대한 분석입니다.
사용법:
Python에서 이 정규식을 사용하려면 다음 코드를 사용할 수 있습니다.
<code class="python">import re pattern = re.compile(r"^(.+)\n((?:\n.+)+)", re.MULTILINE)</code>
그런 다음 match() 메서드를 사용하여 문자열에서 일치하는 항목을 찾을 수 있습니다.
<code class="python">match = pattern.match(text) if match: text1 = match.group(1) text2 = match.group(2)</code>
위 내용은 정규식을 사용하여 여러 줄의 텍스트 블록을 캡처하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!