profile

이 세상에 하나는 남기고 가자

세상에 필요한 소스코드 한줄 남기고 가자

PHP 정규식(PCRE)의 모든 것 - 메타문자(Meta-characters)

유영재

Meta-characters (메타 문자)

정규식은 선택반복을 포함 할 수 있어 강력하다. 이것들은 메타 문자의 사용에 의해 패턴으로 인코딩된다. 메타 문자는 의미를 가지지 않고 대신에 특별한 방식으로 해석된다.

대괄호([]) 안에 있는 것을 제외하고는 패턴의 어디에서나 인식되는 메타 문자와 대괄호 내에서 인식되는 메타 문자의 두 가지가 있다.

대괄호 바깥에 있는 메타 문자는 다음과 같다.

문자 설명
\ 일반적인 이스케이프 문자
^ 문장(또는 여러 줄 모드의 줄)의 시작을 선언
$ 문장(또는 여러 줄 모드의 줄)의 끝을 선언
. 기본적으로 개행 문자를 제외한 모든 문자와 일치
[ 캐릭터 클래스 정의 시작
] 캐릭터 클래스 정의 끝
| 선택 분기 시작
( 서브 패턴의 시작
) 서브 패턴의 끝
? 0 또는 1의 한정, greedy 수량화 도구를 lazy 한다 (Repetition 참고)
* 0개 이상의 한정
+ 1개 이상의 한정
{ 최소 / 최대 한정 기호 시작
} 최소 / 최대 한정 기호 끝

대괄호 안에 있는 패턴의 일부를 "캐릭터 클래스"라고 한다. 캐릭터 클래스에서 사용할 수 있는 메타 문자는 다음과 같다.

문자 설명
\ 일반 이스케이프 문자
^ 캐릭터 클래스를 반전(단, 첫 번째 문자로 입력될 때)
- 문자 범위
] 캐릭터 클래스를 종료

comments powered by Disqus