>  기사  >  웹 프론트엔드  >  정규식 역참조에 대한 자세한 설명_정규식

정규식 역참조에 대한 자세한 설명_정규식

微波
微波원래의
2017-06-28 13:49:301597검색

이 글은 정규식학습 튜토리얼의 역추적인용문역참조를 주로 소개합니다. 역참조의 개념, 기능, 구현 기법을 예제 형식으로 자세히 분석합니다. 필요한 친구는 참고할 수 있습니다.

이 글에서는 설명합니다. 예제가 포함된 정규 표현식 역참조 표현식은 역참조입니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

모든 예제에서 정규식 일치 결과는 소스 텍스트의 [and] 사이에 포함됩니다. Java 자체에서의 표현 사용법은 해당 부분에서 설명하겠습니다. 모든 Java 예제는 JDK1.6.0_13에서 테스트되었습니다.

1. 문제 소개

HTML 페이지에서 제목 태그(H1-H6) 일치 문제:

텍스트:

<body>
<h1>Welcome to my page</H1>
Content is pided into twosections:<br>
<h2>Introduction</h2>
Information about me.
<H2>Hobby</H2>
Information about my hobby.
<h2>This is invalid HTML</h3>
</body>

정규식: 3e12e07a2e3ebc44e792639ffa2426bc

결과:

6c04bd5ca3fcae76e30b72ad730ca86d
【4a249f0d628e2318394fd9b75b4636b1Welcome to my page921186cad5e55f1481a45fdcd6c30f6e】
콘텐츠는 두 섹션으로 나누어집니다. 0c6dc11e160d3b678d68754cc175188a
【c1a436a314ed609750bd7c7d319db4da소개2e9b454fa8428549ca2e64dfac4625cd】
나에 대한 정보
【1b7994ba0f794e1b49742a6367e9e0c6취미ebe8950f0835d9653ff486769499854f】
나의 취미에 대한 정보
【c1a436a314ed609750bd7c7d319db4da 잘못된 HTML39528cedfa926ea0c01e69ef5b2ea9b0]
36cc49f0c466276486e50c850b7e4956

분석: 패턴 bec64cdfd3b18ddf17d11124d921cd9d은 첫 번째 수준 제목의 여는 태그와 일치하며 대소문자를 구분하지 않습니다. 이 예에서는 4a249f0d628e2318394fd9b75b4636b1, c1a436a314ed609750bd7c7d319db4da, c0d08c9e09935101747a568bd8607d7d와 일치합니다. 473f0a7621bec819994bb5020d29372a, 39528cedfa926ea0c01e69ef5b2ea9b0 메타 문자 는 여기서 태그의 텍스트를 일치시키는 데 사용됩니다. 그렇지 않으면 첫 번째 시작 태그부터 마지막 ​​종료 태그까지의 내용이 일치합니다. 그러나 결과를 보면 유효하지 않은 태그, 즉 c1a436a314ed609750bd7c7d319db4da39528cedfa926ea0c01e69ef5b2ea9b0도 매칭되어 전혀 매칭이 불가능함을 알 수 있다. 이 문제를 해결하려면 역참조를 사용해야 합니다.

2. 역참조 일치

역참조는 패턴의 후반부가 전반부에 정의된 하위 표현식을 참조한다는 의미입니다. 하위 표현식의 사용, 구분 및 참조에 대해서는 이전에 소개한 적이 있습니다. 이제 이전 예제를 풀어보겠습니다.

텍스트:

<body>
<h1>Welcome to my page</H1>
Content is pided into twosections:<br>
<h2>Introduction</h2>
Information about me.
<H2>Hobby</H2>
Information about my hobby.
<h2>This is invalid HTML</h3>
</body>

정규식: 2b0cba08e60dd5488139acd8c53df8f7.*?ff4eb78c321859eb74ed45e91b2e966e

결과:

me.
【1b7994ba0f794e1b49742a6367e9e0c6Hobbyebe8950f0835d9653ff486769499854f】
내 취미에 대한 정보.
c1a436a314ed609750bd7c7d319db4da이것은 잘못된 HTML입니다39528cedfa926ea0c01e69ef5b2ea9b0
분석: 먼저 오프닝 제목의 패턴을 일치시킵니다. tag, 대괄호를 사용하여 [1-6]을 하위 표현식으로 처리하고 일치하는 끝 제목 태그 패턴은 입니다. 여기서 1은 첫 번째 하위 표현식 공식, 즉 ([1-6]), ([1-6])이 1과 일치하면 1도 1과 일치하고, 2와 일치하면 1도 2와 일치하므로 마지막 유효하지 않은 제목 태그 일치하지 않습니다.


PS: 다음은 참고할 수 있는 더욱 편리한 정규 표현식 도구 2가지입니다.

JavaScript 정규 표현식 온라인 테스트 도구:

http://tools.

정규 표현식 온라인 생성 도구:
http://tools.jb51.net/regex/create_reg

위 내용은 정규식 역참조에 대한 자세한 설명_정규식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.