Meta-characters (메타 문자)
정규식은 선택과 반복을 포함 할 수 있어 강력하다. 이것들은 메타 문자의 사용에 의해 패턴으로 인코딩된다. 메타 문자는 의미를 가지지 않고 대신에 특별한 방식으로 해석된다.
대괄호([]
) 안에 있는 것을 제외하고는 패턴의 어디에서나 인식되는 메타 문자와 대괄호 내에서 인식되는 메타 문자의 두 가지가 있다.
대괄호 바깥에 있는 메타 문자는 다음과 같다.
문자 | 설명 |
---|---|
\ |
일반적인 이스케이프 문자 |
^ |
문장(또는 여러 줄 모드의 줄)의 시작을 선언 |
$ |
문장(또는 여러 줄 모드의 줄)의 끝을 선언 |
. |
기본적으로 개행 문자를 제외한 모든 문자와 일치 |
[ |
캐릭터 클래스 정의 시작 |
] |
캐릭터 클래스 정의 끝 |
| |
선택 분기 시작 |
( |
서브 패턴의 시작 |
) |
서브 패턴의 끝 |
? |
0 또는 1의 한정, greedy 수량화 도구를 lazy 한다 (Repetition 참고) |
* |
0개 이상의 한정 |
+ |
1개 이상의 한정 |
{ |
최소 / 최대 한정 기호 시작 |
} |
최소 / 최대 한정 기호 끝 |
대괄호 안에 있는 패턴의 일부를 "캐릭터 클래스"라고 한다. 캐릭터 클래스에서 사용할 수 있는 메타 문자는 다음과 같다.
문자 | 설명 |
---|---|
\ |
일반 이스케이프 문자 |
^ |
캐릭터 클래스를 반전(단, 첫 번째 문자로 입력될 때) |
- |
문자 범위 |
] |
캐릭터 클래스를 종료 |
- PHP 정규식(PCRE)의 모든 것 - 프롤로그
- PHP 정규식(PCRE)의 모든 것 - 구분기호(Delimiters)
- > PHP 정규식(PCRE)의 모든 것 - 메타문자(Meta-characters)
- PHP 정규식(PCRE)의 모든 것 - 이스케이프 시퀀스(Escape Sequences)
- PHP 정규식(PCRE)의 모든 것 - 유니코드 문자 속성(Unicode character properties)
- PHP 정규식(PCRE)의 모든 것 - 앵커(Anchors)
- PHP 정규식(PCRE)의 모든 것 - 마침표(Dot)
- PHP 정규식(PCRE)의 모든 것 - 캐릭터 클래스(Character classes)
- PHP 정규식(PCRE)의 모든 것 - 선택(Alternation)
- PHP 정규식(PCRE)의 모든 것 - 내부 옵션 설정(Internal option setting)
- PHP 정규식(PCRE)의 모든 것 - 서브 패턴(Subpatterns)
- PHP 정규식(PCRE)의 모든 것 - 반복(Repetition)
- PHP 정규식(PCRE)의 모든 것 - 역 참조(Back references)
- PHP 정규식(PCRE)의 모든 것 - 어설션(Assertions)
- PHP 정규식(PCRE)의 모든 것 - 일회성 서브 패턴(Once-only subpatterns)
- PHP 정규식(PCRE)의 모든 것 - 조건부 서브 패턴(Conditional subpatterns)
- PHP 정규식(PCRE)의 모든 것 - 주석(Comments)
- PHP 정규식(PCRE)의 모든 것 - 재귀 패턴(Recursive patterns)
- PHP 정규식(PCRE)의 모든 것 - 에필로그