가장 짧은 일치를 사용해야 합니다. 텍스트가 있는 경우 가장 긴 것이 아닌 가능한 가장 짧은 것만 일치시키려고 합니다. 다음 글에서는 정규 표현식에서 가장 짧은 매칭 패턴의 사용법에 대한 관련 정보를 주로 소개합니다. 글의 소개는 매우 상세합니다. 필요한 친구들이 함께 살펴보겠습니다.
머리말
최근 정규식을 사용하여 웹 페이지에서 내용을 가져오고 싶었는데 내용은 복잡하지 않았지만 문제가 많이 발생했습니다. 아래에서 할 말은 많지 않으나 자세한 소개를 살펴보겠습니다.
정규식을 사용하여 태그의 시작과 끝을 일치시키는 경우, 예를 들어 4a249f0d628e2318394fd9b75b4636b1hello world473f0a7621bec819994bb5020d29372a
에서 h1의 여는 태그와 닫는 태그를 일치시키는 경우가 많습니다. 이렇게
/<.*h1>/g
근데 이거 정말 괜찮은 걸까요?
* 일치 문자는 이전 문자와 0개 이상 일치하고 욕심 일치
이므로 다음과 같은 결과를 얻게 됩니다.
분명히 이것은 우리가 원하는 것이 아닙니다. 그러면 탐욕스러운 일치를 최소 일치로 변경하는 방법은 무엇입니까?
/<.*?h1>/g
아래와 같이 위의 내용으로 충분합니다.
실제 원리는 ?도 욕심 많은 일치이고 0 대 1만 일치할 수 있기 때문에 매우 간단해야 합니다(
). 따라서 첫 번째 일치와 일치하면 종료되므로 *가 여러 욕심쟁이 일치하는 것을 방지할 수 있습니다.
위 내용은 정규식에서 가장 짧은 일치 패턴 구문 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!