>  기사  >  백엔드 개발  >  정규식 튜토리얼 전후의 둘러보기에 대한 자세한 설명

정규식 튜토리얼 전후의 둘러보기에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-01-22 14:23:031417검색

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

참고: 모든 예에서 정규식 일치 결과는 소스 텍스트의 [and] 사이에 포함됩니다. Java 자체의 정규식에 대한 설명은 해당 위치에서 설명합니다. 모든 Java 예제는 JDK1.6.0_13에서 테스트되었습니다.

1. 문제 소개

HTML 페이지에서 페이지의 태그 일치, 즉

/title> 사이의 텍스트: <p>텍스트: </p> <title>내 페이지에 오신 것을 환영합니다

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

결과:

【< ; TITLE>내 페이지에 오신 것을 환영합니다】

분석: 패턴은 제목 태그와 그 사이의 텍스트와 일치하지만 태그 자체가 아닌 제목 태그 사이의 텍스트만 필요하기 때문에 완벽하지는 않습니다. 이 문제를 해결하려면 Lookaround를 사용해야 합니다.

2. 정방향 검색

정방향 검색은 일치해야 하는 패턴을 지정하지만 결과에 반환되지 않습니다. 정방향 검색은 실제로 ?=로 시작하는 하위 표현식이며 일치할 텍스트는 = 뒤에 옵니다.

URL 주소의 프로토콜 부분을 일치시키는 예를 살펴보세요.

텍스트: http://blog.csdn.net/mhmyqn

정규 표현식: .+ (?=:)

결과: [http]://blog.csdn.net/mhmyqn

분석: URL 주소의 프로토콜 부분은 이전 부분:, 패턴 .+ 일치하는 모든 텍스트, 하위 표현식(?=:)은 다음과 일치하지만 일치하는:은 결과에 나타나지 않습니다. ?=를 사용하여 정규식 엔진에:이 발견되면 괜찮지만 최종 반환 결과에는 포함되지 않음을 나타냅니다. 여기서 정방향 일치(?=:)를 사용하지 않고 (:)를 직접 사용하면 일치 결과는 http:가 되며 여기에는 다음이 포함됩니다. 이는 우리가 원하는 것이 아닙니다.

참고: 앞 뒤 검색은 패턴과 검색할 텍스트 사이의 상대적인 위치를 의미합니다. 왼쪽은 앞, 오른쪽은 뒤입니다. 즉, 정방향 검색은 xxx(?=xxx)이고, 역방향 검색은 (?

3. 역방향 검색

역방향 검색 연산자는 ?

예를 들어 텍스트($로 시작하고 뒤에 숫자가 옴)에서 가격을 찾으려는 경우 결과에 통화 기호가 포함되지 않습니다.

텍스트: 카테고리1:$136.25 ,category2:$28,category3:$88.60

정규식: (?

결과: Category1:$【136.25】,category2:$【28 】,category3:$【88.60】

분석: (?

참고: 정방향 검색 패턴의 길이는 가변적이며 ., *, +와 같은 메타 문자를 포함할 수 있지만 역방향 검색 패턴은 고정 길이만 가능하며 ., *, 메타 문자를 포함할 수 없습니다. +처럼.

4. 정방향 검색과 역방향 검색 결합

정방향 검색과 역방향 검색을 함께 사용하여 이전 HTML 태그 사이의 텍스트 문제를 해결하세요.

텍스트:

내 페이지에 오신 것을 환영합니다

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

결과:

[내 페이지에 오신 것을 환영합니다]

분석: 결과에서 알 수 있듯이 문제는 완벽하게 해결되었습니다. (?)는

과 일치하지만 이를 사용하지 않는 역방향 연산입니다. (?=[Tt ][Ii][Tt][Ll][Ee]>)는 과 일치하지만 이를 사용하지 않는 전달 작업입니다. 최종 반환된 일치 결과에는 태그 사이의 텍스트만 포함됩니다.

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

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

:

정규식 튜토리얼 전후의 둘러보기에 대한 자세한 설명

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

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

정규 표현식: (?

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

정규식: b(?

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

분석: (?

6. 요약

정방향 및 역방향 검색을 통해 최종 일치 결과에 어떤 내용이 포함될지 정밀하게 제어할 수 있습니다. 이전 및 이후 검색 작업을 통해 하위 표현식을 사용하여 텍스트 일치 작업이 발생하는 위치를 지정하고 일치만 하고 소비하지 않는 효과를 얻을 수 있습니다.

이 글이 정규 표현식을 배우는 모든 분들에게 도움이 되기를 바랍니다.

더 많은 정규식 튜토리얼을 보려면 PHP 중국어 웹사이트에서 이전과 이후의 자세한 둘러보기 관련 기사를 주목하세요!

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