>백엔드 개발 >PHP 튜토리얼 >PHP 정규식 summary_php 예

PHP 정규식 summary_php 예

WBOY
WBOY원래의
2016-05-16 20:23:17876검색

1. PHP에서 일반적으로 사용되는 두 가지 일반 함수

perl 언어 기반의 a.preg_match 정규 함수

구문: preg_match(모드, 문자열 주제, 배열 일치)

설명: 모드 매개변수 ---- 일반 모듈, 즉 정규식(문법)
주제 매개변수----일반 콘텐츠
매개변수와 일치 ---- 일반 결과(배열 형식으로 얻음)

b.ereg 정규 함수, POSIX(Unix, Script) 기반

구문: ereg(모드, 문자열 주제, 배열 regs)

2. 정규식에 포함되는 요소

a. Atom(공용 문자: a-z A-Z 0-9, Atom 테이블, 이스케이프 문자)
b. 메타문자(#, *와 같은 특수 기능을 가진 문자)
c. 모드 수정자(i, m, S, U... 시스템에 일부 내장 문자)

3. 정규식의 "Atom"

a.a-z A-Z _ 0-9 //가장 많이 사용되는 문자
b.(abc)(skd) //괄호 안에 단위 기호(전체)
c.[abcs][^abd] //대괄호로 묶인 Atom 테이블, Atom 테이블의 ^는 제외 또는 반대 내용을 나타냅니다
d.이스케이프 문자
d에는 모든 숫자 [0-9]가 포함됩니다.
모든 숫자를 제외하고 D [^0-9]
w에는 모든 영어 문자 [a-z A-Z 0-9]가 포함됩니다.
W 모든 영어 문자 제외 [^a-z A-Z 0-9]
s 캐리지 리턴, 라인 피드 등
......

참고: 둥근 괄호는 전체적으로 일치해야 하며, 대괄호는 하위 집합인 경우(콘텐츠가 존재하는 경우) 일치할 수 있습니다.

4. 정규식 메타문자

* 이전 콘텐츠와 0회 일치, 1회 이상
. 콘텐츠와 0회, 1회 이상 일치하지만 캐리지 리턴 및 줄바꿈은 포함되지 않습니다(자신, 모든 콘텐츠 참조)
이전 내용과 1회 이상 일치
? 이전 내용과 0~1회 일치
| 선택 일치는 PHP의 |와 유사합니다(이 연산자는 약한 유형이므로 단어 일치와 유사하게 맨 앞에서 가장 많이 일치합니다)
^ 문자열의 첫 번째 내용과 일치
$는 문자열 끝에 있는 내용과 일치합니다.
b는 공백이나 특수 문자(공백과 유사한 단어 구분 기호 사용)일 수 있는 단어 경계와 일치합니다.
B는 단어 경계(단어 구분 기호 없음)를 제외하고 콘텐츠와 일치합니다.
{m}은 M번 반복된 이전 콘텐츠와 일치합니다.
{m,}는 이전 콘텐츠의 반복 횟수가 M회 이상과 일치합니다.
{m,n}은 이전 내용의 반복 횟수를 M회에서 N회까지 일치합니다.
( ) 전체 일치 항목을 병합하여 메모리에 넣을 수 있습니다. \1 \2...을 사용하여 순서대로 가져올 수 있습니다(메모리에 넣은 콘텐츠 호출). 🎜>

5. 작업 순서

여전히 왼쪽에서 오른쪽으로 작동 규칙을 따릅니다

우선순위:

( ) 괄호는 메모리에서 처리되기 때문에 가장 높다
*? { }
다음에 일치하는 콘텐츠를 반복합니다. ^$b 경계 처리 세 번째
| 조건부 처리 네 번째
마지막으로 연산 순서에 따라 매칭이 계산됩니다

6. 모드 수정

패턴 수정자는 정규식을 강화하고 보완하는 기능으로 정규식 외부에서 사용됩니다. 예: /regular/U

일반적으로 사용되는 수식어:

i 일반 콘텐츠는 일치 시 대소문자를 구분하지 않습니다(기본값은 대소문자 구분)
m은 첫 번째 또는 마지막 콘텐츠를 일치시킬 때 여러 줄 식별 일치를 사용합니다
s는 일치하는 경우와 같이 한 줄 일치에 대한 이스케이프 캐리지 리턴을 취소합니다.
x는 정규식에서 공백을 무시합니다
처음부터 일치하는 세력
D는 $가 n 끝에 아무것도 일치하지 않도록 강제합니다
U는 탐욕스러운 일치를 금지하고 수집 프로그램에서 일반적으로 사용되는 정규식만 추적하고 종료합니다.

7. 매칭 기능

preg_match_all 모든 일치 함수

구문: preg_match_all ( 문자열 패턴, 문자열 주제, 배열 일치 [, int 플래그] )

설명: $matches[0]가 모든 패턴 일치 개수가 되도록 결과를 정렬합니다

목적: 보다 자세한 내용을 가로채서 웹페이지를 수집하고 텍스트를 분석합니다

8. 교체 기능

preg_replace 정기 교체 기능

구문: preg_replace ( 혼합 패턴, 혼합 대체, 혼합 주제 [, int 제한] )

설명: 이전에 배운 str_replace 문자열 바꾸기와 유사하게 정규식을 사용하여 관련 콘텐츠를 바꾸지만 함수는 그보다 더 강력합니다

팁: 1. 대체 콘텐츠는 정규식 또는 배열 정규식일 수 있습니다
2. 대체 내용은 실행 내용을 대체하기 위해 수식어 e를 사용하여 해결할 수 있습니다
목적: 좀 더 복잡한 콘텐츠를 대체하고, 콘텐츠 변환에도 사용할 수 있습니다

9. 분할 기능

preg_split 일반 커팅

구문: preg_split ( 문자열 패턴, 문자열 주제 [, int 제한 [, int 플래그]] )
참고: 이전에 배운 분해 절단 기능과 유사하게 정규식을 사용하여 관련 컨텐츠를 절단할 수 있지만 분해는 한 방향으로만 절단할 수 있으며 제한이 있습니다.

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