정규 표현 식,그룹,하위 일치(하위 모드),비 포획 하위 일치(하위 모드)
그룹 모드 예시
예 를 들 어 문자열 을 찾 을 때 여러 개의 win 문자열 이 연속 으로 나타 납 니 다.이렇게 끝 낼 수 있어 요.
<?php
$str = "this is win winwindows!";
preg_match_all("/(win)+/",$str,$marr);
var_dump($marr);
그룹 모드 를 사용 하지 않 고 여러 문자 와 일치 할 수 있 습 니까?우 리 는 이전에 조작 기 호 를 발 견 했 습 니 다:[win]+,비록 winwin 문자 와 일치 할 수 있 지만,이것 은 w,i,n 조합의 하나 또는 여러 문자 가 있 기 때문에 순 서 를 제한 하지 않 습 니 다.보 이 는 것 은 wwin,ww,inw 등 과 일치 합 니 다.이 세 글자 로 구 성 된 것 이 라면 여러 글자 가 일치 합 니 다.
위 에 어떻게 일치 합 니까?한 개 에 두 개의 결과 가 있 습 니까?이것 이 바로 하위 모드(하위 일치)입 니 다.기본적으로 여러 문 자 를 하나의 전체 로 조합 할 수 있 는 것 을 제외 하고 괄호,괄호 로 묶 은 이 표현 식 을 임시 버퍼 에 저장 하여 다음 정규 표현 식 을 호출 할 수 있 습 니 다.위의 이 예 에서 우 리 는 후기 에 호출 할 필요 가 없다.그래서 이 하위 표현 식 캡 처 내용 을 어떻게 차단 합 니까?"앞 에"?"됐다.다음 예 정규 표현 식 그룹 비 포획 모드 를 봅 시다.
비 포획 모드 의 장점 은 어떤 것 이 있 습 니까?위 에서 보면 포획 을 줄 일 수도 있 고 매 칭 횟수 를 줄 일 수도 있다.따라서 그룹 표현 식 에 비 포획 접 두 사 를 추가 할 필요 가 없습니다.메모리 비용 을 절약 할 수 있 고 일치 속 도 를 높 일 수 있 습 니 다!
방금 정규 표현 식 그룹 을 말 했 습 니 다.기본 적 인 상황 은 하위 표현 식 을 캡 처 하여 캐 시 영역 에 저장 합 니 다.후속 호출 을 위 하여.그럼 이 건 어떤 상황 인가요?사실 이것 은 정규 표현 식 의 인용 입 니 다.포 획 된 모든 하위 매 칭 은 정규 표현 식 모드 에서 왼쪽 에서 오른쪽으로 만 나 는 내용 에 따라 순서대로 저 장 됩 니 다.메모리 에 일치 하 는 버퍼 번 호 는 1 부터 최대 9 까지 저장 할 수 있 습 니 다.뒤에 있 는 표현 식 이 이 값 을 인용 할 수 있 도록 하고 나중에 인용 하 라 고 합 니 다.
다음 예 를 들 어 하나의 문자열 에서 서로 인접 하지 않 고 여러 번 시스템 단어 가 나 타 났 습 니 다:add.
<?php
$str = "add123456addasdf";
preg_match_all('/(add)\d+\1/',$str,$marr);
var_dump($marr);
역방향 인용 은 특수 한 일치 상황 을 처리 하 는 데 자주 사용 된다.예 를 들 어 문자열 을 찾 을 때 중복 문자열 과 인접 하지 않 습 니 다.html 탭 의 내용 을 찾 습 니 다.특히 html 분석 은 매우 흔 합 니 다.접두사자주 사용 합 니 다.
<?php
$str = file_get_contents('http://blog.chacuo.net/');
preg_match_all('/<(\S+)[^>]*>[^<]*<\/\1>/',$str,$marr);
var_dump($marr);
// (\S+) , html tag
// tag <tag > [^>]* tag
// [^<]* <tag...> </tag> , "<" , [^<]*
// <\/\1> "\/" "/" , "\1" (\S+)
이상 은 정규 표현 식 을 사용 하 는 것 이 중요 합 니 다.그룹,역방향 일치,그리고 비 캡 처 그룹 설명 과 인 스 턴 스 입 니 다.속성 변경 기능 을 원 하 는 친구 에 게 도움 이 되 었 으 면 합 니 다.동시에 여러분 의 교 류 를 환영 합 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
awk 상용 명령awk 는 모든 입력 줄 을 하나의 기록 으로 인식 하고 그 줄 의 모든 단어 도 메 인 을 하나의 필드 로 인식 합 니 다. ARGC 명령 줄 에 awk 스 크 립 트 가 들 어 오 는 매개...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.