>  기사  >  웹 프론트엔드  >  정규식을 사용하여 둘러보기를 찾는 방법

정규식을 사용하여 둘러보기를 찾는 방법

php中世界最好的语言
php中世界最好的语言원래의
2018-03-30 09:21:151198검색

이번에는 정규식을 사용하여 Lookaround를 찾는 방법과 정규식을 사용하여 Lookaround를 찾을 때 주의사항은 무엇인지 알려드리겠습니다. 실제 사례를 살펴보겠습니다.

이 문서의 예에서는 정규 표현식튜토리얼 전후의 둘러보기를 설명합니다. 다음과 같이 참조용으로 모든 사람과 공유하세요.

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

1. 문제 소개

HTML 페이지에서 페이지의 태그 일치와 같이 태그 쌍 사이의 텍스트, 즉 및 </ 사이의 텍스트를 일치시킵니다. title>: </p> <p style="text-align: left;">텍스트: <span style="color: #3366ff"><head><TITLE>welcome to my page

정규식: <[Tt][Ii][Tt][Ll] [Ee] >.*?

결과: 내 페이지에 오신 것을 환영합니다</ title>】 </span></head></span></p> <p style="text-align: left;">분석: <[Tt][Ii][Tt][Ll][Ee]> 이 패턴은 제목 태그 및 텍스트와 일치하지 않음을 의미합니다. 하지만 완벽하지는 않습니다. 태그 자체가 아닌 제목 태그 사이에만 텍스트가 필요하기 때문입니다. 이 문제를 해결하려면 Lookaround를 사용해야 합니다. </p> <p style="text-align: left;"><strong>2. 정방향 검색 </strong></p> <p style="text-align: left;">정방향 검색은 일치해야 하지만 결과에 반환되지 않는 패턴을 지정합니다. 정방향 검색은 실제로 ?=로 시작하는 하위 표현식이며 일치할 텍스트는 = 뒤에 옵니다. </p> <p style="text-align: left;">URL 주소의 프로토콜 부분을 일치시키는 예를 살펴보세요: </p> <p style="text-align: left;">텍스트: <span style="color: #3366ff">http://blog.csdn.net/mhmyqn</span></p> <p style="text-align: left;">정규 표현식: .<span style="color: #3366ff">+(?=:)</span></p> <p style="text-align: left;">결과 :<span style="color: #ff6600">【http】</span><span style="color: #3366ff">://blog.csdn.net/mhmyqn</span></p> <p style="text-align: left;"> 분석: URL 주소의 프로토콜 부분은 다음 부분입니다. 패턴 .+는 모든 텍스트와 일치하며 하위 표현식(?=: )는 :과 일치하지만 일치하는 :은 결과에 나타나지 않습니다. ?=를 사용하여 정규식 엔진에:이 발견되면 괜찮지만 최종 반환 결과에는 포함되지 않음을 나타냅니다. 여기서 정방향 일치(?=:)를 사용하지 않고 (:)를 직접 사용하면 일치 결과는 http:가 되며 여기에는 다음이 포함됩니다. 이는 우리가 원하는 것이 아닙니다. </p> <p style="text-align: left;"><span style="color: #ff0000">참고: 앞뒤 검색은 패턴과 검색되는 텍스트 사이의 상대적인 위치를 나타냅니다. 왼쪽은 앞, 오른쪽은 뒤입니다. 즉, 정방향 검색은 xxx(?=xxx)이고, 역방향 검색은 (?</span></p> <p style="text-align: left;"><strong>3. 역방향 검색</strong></p> <p style="text-align: left;">역방향 검색 연산자는 ?<=입니다. 그러나 모든 정규식 구현이 역방향 검색을 지원하는 것은 아닙니다. <a href="http://www.php.cn/wiki/48.html" target="_blank">JavaScript</a>는 역방향 검색을 지원하지 않습니다. </p> <p style="text-align: left;">예를 들어 텍스트($로 시작하고 뒤에 숫자가 옴)에서 가격을 찾으려는 경우 결과에 통화 기호가 포함되지 않습니다. </p> <p style="text-align: left;">텍스트: <span style="color: #3366ff">category1:$136.25,category2:$28,category3: $88.60</span></p> <p style="text-align: left;">정규식: <span style="color: #3366ff">( ?<=$)d+(.d+)?</span></p> <p style="text-align: left;">결과: <span style="color: #3366ff">category1:$<span style="color: #ff6600">【136.25】</span>,category2:$<span style="color: #ff6600">【28】</span>,category3:$</span><span style="color: #ff6600"> 【88.60】</span></p> <p style="text-align: left;">분석: ( ?<=$) 패턴은 $와 일치하고, d+(.d+)? 패턴은 정수 또는 소수와 일치합니다. 결과에서 볼 수 있듯이 결과에는 통화 기호가 포함되지 않고 가격만 포함됩니다. 역방향 조회를 사용하지 않으면 어떻게 될까요? 결과에 $를 포함하는 $d+(.d+)? 패턴을 사용합니다. d+(.d+)? 패턴을 사용하면 Category1(23)의 숫자와도 일치하지만 이는 우리가 원하는 것이 아닙니다. </p> <p style="text-align: left;"><span style="color: #ff0000">참고: 정방향 검색 패턴의 길이는 가변적이며 ., *, + <a href="http://www.php.cn/code/10419.html" target="_blank">와 같은 </a>메타 문자를 포함할 수 있지만 역방향 검색 패턴은 고정 길이만 가능하며 ., *, + 및 클래스 메타문자. </span></p> <p style="text-align: left;"><strong>4 정방향 검색과 역방향 검색 결합 </strong></p> <p style="text-align: left;"> 정방향 검색과 역방향 검색을 결합하여 이전 <a href="http://www.php.cn/code/427.html" target="_blank">HTML 태그 사이의 텍스트 문제를 해결합니다</a>: </p> <p style="text-align: left;">텍스트: <span style="color: #3366ff"><head><TITLE>welcome 내 페이지로

정규식: (?<=<[Tt][Ii][Tt][Ll][ Ee]>).*?(?= )

결과:<span style="color: #ff6600">【내 페이지에 오신 것을 환영합니다】</span>< /head>

분석: 문제가 완벽하게 해결되었다는 결과를 볼 수 있습니다. (?)는 과 일치하지만 이를 사용하지 않는 역방향 연산입니다. (?=</[Tt ][Ii][Tt][Ll][Ee]>)는 과 일치하지만 이를 사용하지 않는 전달 작업입니다. 최종 반환된 일치 결과에는 태그 사이의 텍스트만 포함됩니다.

5. 정방향 및 역방향 검색을 무효화합니다

앞서 언급한 정방향 검색과 역방향 검색은 일반적으로 텍스트를 일치시키는 데 사용됩니다. 목적은 반환될 일치 결과의 텍스트 위치를 지정하는 것입니다. 일치하는 결과 앞뒤에 어떤 텍스트가 있어야 하는지). 이러한 사용법을 정방향 검색 및 정방향 검색이라고 합니다. 또한 주어진 패턴과 일치하지 않는 텍스트를 찾는 부정 정방향 검색과 부정 역방향 검색도 있습니다.

정방향 및 역방향 검색 연산자:

(?=) 긍정적 정방향 검색
(?!) 부정 정방향 검색
(?< = ) 긍정적 역방향 검색
(? 부정적 역방향 검색

예를 들어 텍스트에 가격($로 시작하고 뒤에 숫자가 옴)과 수량, 가격과 수량을 알아보려면 먼저 가격을 살펴보겠습니다.

텍스트: 이 주문으로 사과 10개, 오렌지 15개, 배 10개에 $30를 지불했습니다.

정규식: (?<=$ )d+

결과: 이 주문으로 사과 10개, 오렌지 15개, 배 10개에 【$30】를 지불했습니다. 【$5】를 절약했습니다.

찾기 수량:

텍스트: 사과 10개, 오렌지 15개, 배 10개에 30달러를 지불했습니다. 【10】

사과,

【15】 오렌지, 그리고 【10】

배. order.

이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 믿습니다. 더 흥미진진한 PHP 중국어 웹사이트에서 다른 관련 기사도 주목해주세요! 추천 자료:

정규 표현식 튜토리얼의 위치 매칭 튜토리얼(코드 포함)

php와 js를 사용하여 숫자와 문자를 결합한 비밀번호의 정기적인 매칭 구현

위 내용은 정규식을 사용하여 둘러보기를 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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