-
PHP 정규식(PCRE)의 모든 것 - 내부 옵션 설정(Internal option setting)
Internal option setting (내부 옵션 설정) PHP 정규표현식 패턴에 존재하는 변경자와 유사하게 사용되나 사용 위치가 다르다. PCRE_CASELESS, PCRE_MULTILINE,PCRE_DOTALL, PCRE_UNGREEDY, PCRE_EXTRA, PCRE_EXTENDED 및 PCRE_DUPNAMES의 설정은 "(?" 및 ")"로 묶인 Perl 옵션 문자 시퀀스에 의해 패턴 내에서 변경할 수 있다. 옵션 문자는 다음과 같다. Internal option letters(내부 옵션 문자) 옵션 설명 i PCRE_C
-
PHP 정규식(PCRE)의 모든 것 - 선택(Alternation)
Alternation (선택) 수직 막대 문자(|)는 선택 패턴을 분리하는데 사용된다(논리 연산의 or과 동일하게 생각하면 된다). 예를 들어, gilbert|sullivan 패턴은 "gilbert" 또는 "sullivan"과 일치한다. 임의의 수의 선택 패턴이 나타날 수 있으며 빈 선택 패턴을 허용한다(빈 문자열과 일치). 일치 여부에 대한 프로세스는 왼쪽에서 오른쪽으로 각 선택 패턴을 차례로 시도하고 성공한 첫 번째가 사용된다. 선택 패턴이 서브 패턴 내에 있는 경우 "성공"은 나머지 기본 패턴과 서브 패턴의 선택을 일치시키는
-
PHP 정규식(PCRE)의 모든 것 - 캐릭터 클래스(Character classes)
Character classes (캐릭터 클래스) 캐릭터 클래스는 여는 대괄호([)와 닫는 대괄호(])로 영역을 선언한다. 닫는 대괄호는 그 자체만으로는 특별한 의미를 가지지 않는다. 닫는 대괄호가 클래스의 멤버로 필요하면 클래스의 첫 번째 데이터 문자(곡절 부호(^)로 시작하는 경우) 뒤에 있거나 백 슬래시로 이스케이프되어야 한다. 캐릭터 클래스는 문장의 단일 문자와 일치한다(단어가 아닌 단일 문자 단위로 일치한다). 캐릭터 클래스의 첫 번째 문자가 곡절 부호(^)가 아닌 경우 캐릭터 클래스에 정의된 문자 세트가 있으면 일치한다.
-
PHP 정규식(PCRE)의 모든 것 - 마침표(Dot)
Dot (마침표 문자) 캐릭터 클래스 밖에서도 패턴의 마침표(.)는 임의의 한 문자와 일치한다. 기본적으로 비인쇄 문자는 포함하지만 개행 문자(줄바꿈)는 포함되지 않는다. PCRE_DOTALL 옵션이 설정되면 마침표는 줄바꿈과도 일치한다. 마침표의 처리는 "^"와 "$"의 처리와는 완전히 독립적이다. 유일한 관계는 둘 다 개행 문자를 포함한다는 것이다. 마침표는 캐릭터 클래스에서 특별한 의미가 없다. \C를 사용하여 1 바이트를 일치시킬 수 있다. UTF-8 모드(u)에서는 마침표가 멀티 바이트로 구성 될 수 있는 전체 문자와 일치
-
PHP 정규식(PCRE)의 모든 것 - 앵커(Anchors)
Anchors (앵커) 곡절 부호(^) 캐릭터 클래스 외부의 기본 일치 모드에서 곡절 부호(^)는 현재 일치하는 점이 제목 문자열의 시작 부분에 있는 경우에만 참(true)인 어설션이다. 캐릭터 클래스 내에서 곡절 부호(^)는 완전히 다른 의미를 지닌다. 여러 가지 선택이 포함되어 있는 경우 곡절 부호(^)는 패턴의 첫 번째 문자일 필요는 없지만 패턴이 해당 분기와 일치하는 경우 나타나는 각 대체 방법의 첫 번째 문자여야 한다. 가능한 모든 선택이 곡절 부호(^)로 시작하는 경우, 즉 패턴이 문장 시작 부분에서만 일치하도록 제한되면