PHP-정규식

정규식은 문자 그 자체의 시퀀스 또는 패턴에 지나지 않습니다. 패턴 일치 기능의 기초를 제공합니다.

정규식을 사용하면 다른 문자열 내에서 특정 문자열을 검색 할 수 있으며 한 문자열을 다른 문자열로 대체 할 수 있으며 문자열을 여러 청크로 분할 할 수 있습니다.

PHP는 각각 특정 유형의 정규식에 해당하는 두 세트의 정규식 함수에 특정한 함수를 제공합니다. 당신의 편안함에 따라 그들 중 하나를 사용할 수 있습니다.

  • POSIX 정규식
  • PERL 스타일 정규식

POSIX 정규식

POSIX 정규식의 구조는 일반적인 산술 식의 구조와 다르지 않습니다. 다양한 요소 (연산자)가 결합되어 더 복잡한 식을 형성합니다.

가장 간단한 정규식은 g, haggle 또는 bag과 같은 문자열 내부에서 g와 같은 단일 문자와 일치하는 정규식입니다.

POSIX 정규식에서 사용되는 몇 가지 개념에 대해 설명하겠습니다. 그 후 정규식 관련 함수를 소개합니다.

브래킷

대괄호 ([])는 정규식 컨텍스트에서 사용할 때 특별한 의미를 갖습니다. 문자 범위를 찾는 데 사용됩니다.

Sr. 아니요 표현 및 설명
1

[0-9]

0에서 9까지의 십진수와 일치합니다.

2

[a-z]

소문자 a에서 소문자 z까지의 모든 문자와 일치합니다.

[A-Z]

대문자 A에서 대문자 Z까지의 모든 문자와 일치합니다.

4

[a-Z]

소문자 a에서 대문자 Z까지의 모든 문자와 일치합니다.

위에 표시된 범위는 일반적입니다. 또한 [0-3] 범위를 사용하여 0에서 3까지의 십진수를 일치 시키거나 [bv] 범위를 사용하여 b에서 v까지의 소문자와 일치시킬 수 있습니다.

수량 자

괄호 문자 시퀀스 및 단일 문자의 빈도 또는 위치는 특수 문자로 표시 할 수 있습니다. 특정 의미를 가진 각 특수 문자. +, *,?, {int. range} 및 $ 플래그는 모두 문자 시퀀스를 따릅니다.

Sr. 아니요 표현 및 설명
1

p+

적어도 하나의 p를 포함하는 모든 문자열과 일치합니다.

2

p*

0 개 이상의 p를 포함하는 모든 문자열과 일치합니다.

p?

0 또는 1 개의 p를 포함하는 모든 문자열과 일치합니다.

4

p{N}

시퀀스를 포함하는 모든 문자열과 일치합니다. N 추신

5

p{2,3}

2 개 또는 3 개의 p 시퀀스를 포함하는 모든 문자열과 일치합니다.

6

p{2, }

최소 두 개의 p 시퀀스를 포함하는 모든 문자열과 일치합니다.

7

p$

끝에 p가있는 문자열과 일치합니다.

8

^

시작 부분에 p가있는 모든 문자열과 일치합니다.

다음 예는 일치하는 문자에 대한 개념을 명확하게합니다.

Sr. 아니요 표현 및 설명
1

[^a-zA-Z]

a-z 및 A-Z 범위의 문자를 포함하지 않는 모든 문자열과 일치합니다.

2

p.p

p, 임의의 문자, 차례로 다른 p를 포함하는 문자열과 일치합니다.

^.{2}$

정확히 두 문자를 포함하는 모든 문자열과 일치합니다.

4

<b>(.*)</b>

<b> 및 </ b>로 묶인 모든 문자열과 일치합니다.

5

p(hp)*

ap 다음에 시퀀스 php의 0 개 이상의 인스턴스가 오는 문자열과 일치합니다.

미리 정의 된 문자 범위

프로그래밍 편의를 위해 문자 클래스라고도하는 사전 정의 된 여러 문자 범위를 사용할 수 있습니다. 문자 클래스는 전체 문자 범위를 지정합니다 (예 : 알파벳 또는 정수 세트).

Sr. 아니요 표현 및 설명
1

[[:alpha:]]

영문자 aA-zZ를 포함하는 모든 문자열과 일치합니다.

2

[[:digit:]]

0에서 9까지의 숫자를 포함하는 모든 문자열과 일치합니다.

[[:alnum:]]

영숫자 aA ~ zZ 및 0 ~ 9를 포함하는 모든 문자열과 일치합니다.

4

[[:space:]]

공백을 포함하는 모든 문자열과 일치합니다.

PHP의 Regexp POSIX 함수

PHP는 현재 POSIX 스타일의 정규 표현식을 사용하여 문자열을 검색하는 7 가지 기능을 제공합니다.

Sr. 아니요 기능 및 설명
1 ereg ()

ereg () 함수는 string으로 지정된 문자열에서 pattern으로 지정된 문자열을 검색하여 패턴이 발견되면 true를 반환하고 그렇지 않으면 false를 반환합니다.

2 ereg_replace ()

ereg_replace () 함수는 패턴으로 지정된 문자열을 검색하고 패턴이 발견되면 대체로 대체합니다.

에레 기 ()

eregi () 함수는 패턴으로 지정된 문자열에서 문자열로 지정된 문자열을 검색합니다. 검색은 대소 문자를 구분하지 않습니다.

4 eregi_replace ()

eregi_replace () 함수는 문자열의 패턴 검색이 대소 문자를 구분하지 않는다는 점을 제외하면 ereg_replace ()와 똑같이 작동합니다.

5 스플릿()

split () 함수는 문자열에서 패턴의 발생에 따라 각 요소의 경계인 다양한 요소로 문자열을 나눕니다.

6 spliti ()

spliti () 함수는 대소 문자를 구분하지 않는다는 점을 제외하면 형제 split ()과 동일한 방식으로 작동합니다.

7 sql_regcase ()

sql_regcase () 함수는 입력 매개 변수 문자열의 각 문자를 두 문자를 포함하는 대괄호 표현식으로 변환하는 유틸리티 함수로 생각할 수 있습니다.

PERL 스타일 정규식

Perl 스타일의 정규식은 POSIX 대응과 유사합니다. POSIX 구문은 Perl 스타일 정규식 함수와 거의 같은 의미로 사용할 수 있습니다. 실제로 이전 POSIX 섹션에서 소개 한 수량자를 사용할 수 있습니다.

PERL 정규식에서 사용되는 몇 가지 개념에 대해 설명하겠습니다. 그 후 정규식 관련 함수를 소개합니다.

메타 문자

메타 문자는 조합에 특별한 의미를 부여하는 역할을하는 백 슬래시가 앞에 오는 단순히 알파벳 문자입니다.

예를 들어 '\ d'메타 문자를 사용하여 큰 금액을 검색 할 수 있습니다. /([\d]+)000/, 여기 \d 숫자 문자열을 검색합니다.

다음은 PERL 스타일 정규식에서 사용할 수있는 메타 문자 목록입니다.

Character Description
.              a single character
\s             a whitespace character (space, tab, newline)
\S             non-whitespace character
\d             a digit (0-9)
\D             a non-digit
\w             a word character (a-z, A-Z, 0-9, _)
\W             a non-word character
[aeiou]        matches a single character in the given set
[^aeiou]       matches a single character outside the given set
(foo|bar|baz)  matches any of the alternatives specified

수정 자

대소 문자 구분, 여러 줄 검색 등과 같이 정규 표현식 작업을 훨씬 쉽게 할 수있는 몇 가지 수정자를 사용할 수 있습니다.

Modifier Description
i 	Makes the match case insensitive
m 	Specifies that if the string has newline or carriage
	return characters, the ^ and $ operators will now
	match against a newline boundary, instead of a
	string boundary
o 	Evaluates the expression only once
s 	Allows use of . to match a newline character
x 	Allows you to use white space in the expression for clarity
g 	Globally finds all matches
cg 	Allows a search to continue even after a global match fails

PHP의 Regexp PERL 호환 기능

PHP는 Perl 호환 정규 표현식을 사용하여 문자열을 검색하기 위해 다음과 같은 기능을 제공합니다.

Sr. 아니요 기능 및 설명
1 preg_match ()

preg_match () 함수는 문자열에서 패턴을 검색하여 패턴이 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.

2 preg_match_all ()

preg_match_all () 함수는 string의 모든 패턴과 일치합니다.

preg_replace ()

preg_replace () 함수는 패턴 및 대체 입력 매개 변수에서 정규식을 사용할 수 있다는 점을 제외하면 ereg_replace ()와 동일하게 작동합니다.

4 preg_split ()

preg_split () 함수는 정규식이 패턴의 입력 매개 변수로 허용된다는 점을 제외하면 split ()과 똑같이 작동합니다.

5 preg_grep ()

preg_grep () 함수는 input_array의 모든 요소를 ​​검색하여 regexp 패턴과 일치하는 모든 요소를 ​​반환합니다.

6 preg_ quote ()

정규식 문자 인용