정규식 전후의 둘러보기에 대한 자세한 설명 tutorial_regularexpression
이 글에서는 튜토리얼 전후에 정규식lookaround를 주로 소개하고, 특정 문제에 따른 정방향 조회 및 역방향 조회 기능의 구현 기법과 주의사항을 분석합니다. 둘러보기 전후의 정규식 튜토리얼. 다음과 같이 참조용으로 모든 사람과 공유하세요.
참고: 모든 예제에서 정규식 일치 결과는 소스 텍스트의
[및 ] 사이에 포함됩니다. 일부 예제는 Java를 사용하여 구현됩니다. Java 자체에서 정규식을 사용하는 방법에 대해서는 해당 부분에서 설명하겠습니다. 모든 Java 예제는 JDK1.6.0_13에서 테스트되었습니다. 1. 문제 소개
HTML 페이지에서 페이지의 태그 일치와 같이 태그 쌍 사이의 텍스트, 즉
정규식: <[Tt][Ii][Tt][Ll] [Ee] >.*? [Tt][Ii][Tt][Ll][Ee]>
결과:
【분석: <[Tt][Ii][Tt][Ll][Ee]> 이 패턴은 제목 태그 및 텍스트와 일치하지 않음을 의미합니다. 하지만 완벽하지는 않습니다. 태그 자체가 아닌 제목 태그 사이에만 텍스트가 필요하기 때문입니다. 이 문제를 해결하려면 Lookaround를 사용해야 합니다.
2. 정방향 검색
정방향 검색은 일치해야 하지만 결과에 반환되지 않는 패턴을 지정합니다. 정방향 검색은 실제로 ?=로 시작하는 하위 표현식이며 일치할 텍스트는 = 뒤에 옵니다.
URL 주소의 프로토콜 부분을 일치시키는 예를 살펴보세요: 텍스트:http://blog.csdn.net/mhmyqn
정규 표현식: .+(?=:)
결과 :【http】
://blog.csdn.net/mhmyqn 분석: URL 주소의 프로토콜 부분은 다음 부분입니다. 패턴 .+는 모든 텍스트와 일치하며 하위 표현식(?=: )는 :과 일치하지만 일치하는 :은 결과에 나타나지 않습니다. ?=를 사용하여 정규식 엔진에:이 발견되면 괜찮지만 최종 반환 결과에는 포함되지 않음을 나타냅니다. 여기서 정방향 일치(?=:)를 사용하지 않고 (:)를 직접 사용하면 일치 결과는 http:가 되며 여기에는 다음이 포함됩니다. 이는 우리가 원하는 것이 아닙니다.
참고: 앞 뒤 검색은 패턴의 상대적인 위치를 의미하며 검색할 텍스트는 왼쪽이 앞, 오른쪽이 뒤입니다. 즉, 정방향 검색은 xxx(?=xxx)이고, 역방향 검색은 (?
3. 뒤로 검색
뒤로 보기 연산자
는 ?<=입니다. 그러나 모든 정규식 구현이 역방향 검색을 지원하는 것은 아닙니다.JavaScript는 역방향 검색을 지원하지 않습니다. 예를 들어 텍스트($로 시작하고 뒤에 숫자가 옴)에서 가격을 찾으려는 경우 결과에 통화 기호가 포함되지 않습니다.
텍스트:category1:$136.25,category2:$28,category3: $88.60
정규식: ( ?<=$)d+(.d+)?
결과: category1:$
【136.25】,category2:$【28】,category3:$ 【88.60】분석: ( ?<=$) 패턴은 $와 일치하고, d+(.d+)? 패턴은 정수 또는 소수와 일치합니다. 결과에서 볼 수 있듯이 결과에는 통화 기호가 포함되지 않고 가격만 포함됩니다. 역방향 조회를 사용하지 않으면 어떻게 될까요? 결과에 $를 포함하는 $d+(.d+)? 패턴을 사용합니다. d+(.d+)? 패턴을 사용하면 Category1(23)의 숫자와도 일치하지만 이는 우리가 원하는 것이 아닙니다.
참고: 정방향 검색 패턴의 길이는 가변적이며 ., *, + 등의 메타 문자를 포함할 수 있지만 역방향 검색 패턴은 고정 길이만 가능하며 ., *, + 등을 포함할 수 없습니다. 메타 문자.
4 정방향 검색과 역방향 검색 결합
정방향 검색과 역방향 검색을 결합하여 이전 HTML 태그 사이의 텍스트 문제를 해결합니다
:정규 표현식: (?<=<[Tt][Ii][Tt][Ll][Ee]>).*?(?= [Tt][Ii][Tt][ Ll ][Ee]>)
결과:
분석: 에서 볼 수 있습니다. 결과적으로 문제는 완벽하게 해결되었습니다. (?)는
5. 정방향 및 역방향 검색을 무효화합니다
앞서 언급한 정방향 검색과 역방향 검색은 일반적으로 텍스트를 일치시키는 데 사용됩니다. 목적은 반환될 일치 결과의 텍스트 위치를 지정하는 것입니다. 일치하는 결과 앞뒤에 어떤 텍스트가 있어야 하는지). 이러한 사용법을 정방향 검색 및 정방향 검색이라고 합니다. 또한 주어진 패턴과 일치하지 않는 텍스트를 찾는 부정적인 정방향 검색과 부정적인 역방향 검색이 있습니다.
정방향 및 역방향 검색 연산자:
(?=) | 긍정적 정방향 검색 |
(?!) | 부정 정방향 검색 |
(?< = ) | 긍정적 역방향 검색 |
(? | 부정적 역방향 검색 |
예를 들어 텍스트에 가격($로 시작하고 뒤에 숫자가 옴)과 수량, 가격과 수량을 알아보려면 먼저 가격을 살펴보겠습니다.
텍스트: 이 주문으로 사과 10개, 오렌지 15개, 배 10개에 $30를 지불했습니다.
정규식 : (?<=$ )d+
결과: 이 주문으로 사과 10개, 오렌지 15개, 배 10개에 【$30】를 지불했습니다. 【$5】를 절약했습니다.
수량 찾기:
텍스트: 사과 10개, 오렌지 15개, 배 10개에 30달러를 지불했습니다. 【10】
사과,【15】 오렌지, 그리고 【10】
배. 이 순서입니다.분석: (? 6. 요약
정방향 및 역방향 검색을 사용하면 최종 일치 결과에 어떤 콘텐츠가 포함될지 정밀하게 제어할 수 있습니다. 이전 및 이후 검색 작업을 통해 하위 표현식을 사용하여 텍스트 일치 작업이 발생하는 위치를 지정하고 일치만 하고 소비하지 않는 효과를 얻을 수 있습니다.
PS: 다음은 참고할 수 있는 더욱 편리한 정규식 도구 2개입니다.
JavaScript 정규식 온라인 테스트 도구: http://tools.jb51
정규 표현식 온라인 생성 도구:
http://tools.jb51.net/regex/create_reg
위 내용은 정규식 전후의 둘러보기에 대한 자세한 설명 tutorial_regularexpression의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











iPhone에서 나의 찾기를 끄면 어떻게 되나요? 나의 iPhone 찾기는 분실했거나 도난당한 기기를 찾는 데 도움이 됩니다. 나의 iPhone 찾기를 활성화하면 지도에서 기기의 위치를 추적하고, 소리를 재생하고, 기기를 찾는 데 도움을 줄 수 있습니다. 나의 찾기에는 다른 사람이 귀하의 iPhone을 사용하는 것을 방지하는 활성화 잠금 기능도 포함되어 있습니다. 나의 iPhone 찾기를 끄면 이러한 모든 기능이 손실되어 분실된 Apple 기기를 복구하기 어려울 수 있습니다. 나의 iPhone 찾기는 매우 유용하지만 휴대폰을 판매, 기부, 교환하거나 배터리 교체 또는 기타 서비스를 위해 보낼 때는 비활성화해야 합니다. 이렇게 하면 누구도 귀하에 관한 정보에 접근할 수 없습니다.

Apple의 나의 찾기 앱을 사용하면 iPhone이나 기타 기기의 위치를 찾아 분실하거나 잊어버리는 일을 방지할 수 있습니다. 나의 찾기는 장치를 추적하는 데 유용한 도구이지만 개인 정보 보호 문제가 우려되거나 배터리 소모를 원하지 않는 경우 또는 기타 이유로 비활성화할 수 있습니다. 다행히도 iPhone에서 나의 찾기를 끄는 방법에는 여러 가지가 있으며, 이 기사에서는 이에 대해 모두 설명하겠습니다. iPhone에서 나의 찾기를 끄는 방법 [4가지 방법] 네 가지 방법으로 iPhone에서 나의 찾기를 끌 수 있습니다. 방법 1을 사용하여 찾기를 끈 경우 비활성화하려는 장치에서 이 작업을 수행할 수 있습니다. 방법 2, 3, 4를 진행하려면 Find Finder를 끄려는 iPhone의 전원을 끄거나

C#에서 Array.IndexOf 함수를 사용하여 배열에 있는 요소의 인덱스를 찾습니다. C# 프로그램에서 배열에 있는 요소의 인덱스를 찾아야 하는 경우 Array.IndexOf 함수를 사용할 수 있습니다. Array.IndexOf 함수는 지정된 배열 범위 내에서 지정된 요소를 찾고 해당 요소가 처음 나타나는 인덱스를 반환합니다. 요소를 찾을 수 없으면 -1이 반환됩니다. 다음은 Array.IndexOf 함수를 사용하여 배열에서 요소를 찾는 방법을 보여 주는 샘플 코드입니다.

하드 드라이브 일련 번호와 MAC 주소는 컴퓨터 하드웨어의 중요한 식별자이며 컴퓨터 시스템을 관리하고 유지하는 데 매우 유용합니다. 이 문서에서는 하드 디스크 일련 번호와 MAC 주소를 찾는 방법을 소개합니다. 1. 하드 드라이브 일련 번호를 찾으십시오. 하드 드라이브 일련 번호는 하드 드라이브 제조업체가 하드 드라이브를 식별하고 추적하는 데 사용하는 고유 식별자입니다. 운영 체제에 따라 하드 드라이브 일련 번호를 찾는 방법이 약간 다릅니다. Windows: 명령 프롬프트를 열고(시작 메뉴에서 "cmd" 검색) 다음 명령을 입력하고 Enter를 누릅니다. wmicdisk

PHP의 glob() 함수는 파일이나 디렉터리를 찾는 데 사용되며 강력한 파일 작업 함수입니다. 지정된 패턴 일치를 기반으로 파일 또는 디렉터리의 경로를 반환할 수 있습니다. glob() 함수의 구문은 다음과 같습니다. glob(pattern, flags) 여기서 패턴은 일치할 패턴 문자열을 나타내며 *.txt(.txt로 끝나는 일치 파일)와 같은 와일드카드 표현식일 수 있습니다. 특정 파일 경로. 플래그는 함수를 제어하는 데 사용되는 선택적 매개변수입니다.

이 문제에서는 n개의 정렬되지 않은 정수 값과 정수 val을 포함하는 배열 aar[]가 제공됩니다. 우리의 임무는 정렬되지 않은 배열에서 요소의 시작 및 끝 인덱스를 찾는 것입니다. 배열에 요소가 나타나면 "시작 인덱스와 끝 인덱스"를 반환합니다(배열에서 두 번 이상 발견된 경우). "단일 인덱스"(발견된 경우) 배열에 없으면 "요소가 존재하지 않습니다". 문제를 이해하기 위해 예를 들어 보겠습니다. 예 1Input:arr[]={2,1,5,4,6,2,3},val=2Output:startingindex=0,endingindex=5에서는 요소 2가 두 번 나타나는 것을 설명합니다. , 처음에는 인덱스 = 0에 나타나고 두 번째에는

컴퓨터 하드 드라이브의 일련번호를 확인하는 방법 컴퓨터 기술의 발달로 컴퓨터 하드 드라이브는 우리 삶에 없어서는 안 될 부분이 되었습니다. 중요한 파일을 저장하거나 운영 체제 및 소프트웨어를 설치하는 등의 작업을 완료하려면 하드 디스크에 의존해야 합니다. 하드 드라이브의 일련 번호와 같은 컴퓨터 하드 드라이브에 대한 몇 가지 기본 정보를 이해하면 컴퓨터 시스템을 더 잘 관리하고 유지하는 데 도움이 될 수 있습니다. 그렇다면 컴퓨터 하드디스크의 일련번호를 확인하는 방법은 무엇일까요? 이 기사에서는 몇 가지 일반적인 방법을 소개합니다. 방법 1: Windows 시스템과 함께 제공되는 명령줄 도구 사용 Windows 시스템

Python에서 해시 조회 알고리즘을 작성하는 방법은 무엇입니까? 해시 검색 알고리즘이라고도 알려진 해시 검색 알고리즘은 해시 테이블을 기반으로 한 데이터 검색 방법입니다. 선형 검색 및 이진 검색과 같은 기존 검색 알고리즘과 비교하여 해시 검색 알고리즘은 검색 효율성이 더 높습니다. Python에서는 사전을 사용하여 해시 테이블을 구현한 다음 해시 조회를 구현할 수 있습니다. 해시 검색 알고리즘의 기본 개념은 검색하려는 키워드를 해시 함수를 통해 인덱스 값으로 변환한 후, 인덱스 값을 기준으로 해시 테이블에서 검색하는 것이다.
