-
PHP 정규식(PCRE)의 모든 것 - 유니코드 문자 속성(Unicode character properties)
Unicode character properties (유니코드 문자 속성) PHP 5.1.0 이후부터 UTF-8 모드가 선택되면 일반 문자 유형과 일치하는 세 개의 추가 이스케이프 시퀀스를 사용할 수 있다. 문자 설명 \p{xx} xx 속성을 가지는 문자 \P{xx} xx 속성을 가지지 않는 문자 \X 확장 유니코드 시퀀스 위의 xx로 표시된 속성 이름은 유니코드 일반 범주 속성으로 제한된다. 각 문자에는 정확히 두 개의 문자로 된 약어가 지정된다. Perl과의 호환성을 위해 여는 중괄호({)와 속성 이름 사이에 곡절 부호(^)를
-
PHP 정규식(PCRE)의 모든 것 - Escape sequences
Escape sequences 백 슬래시 문자는 여러 용도로 사용된다. 첫 번째, 영숫자가 아닌 문자가 나오면 문자가 가질 수 있는 특별한 의미가 없어진다. 이스케이프 문자로 백 슬래시를 사용하면 캐릭터 클래스의 내부 및 외부에 모두 적용된다. 예를 들어, "*" 문자를 일치시키려면 패턴에 "\*"을 쓴다. 이것은 \ 다음 문자가 메타 문자로 해석될지 여부와 관계없이 적용되므로 영숫자가 아닌 문자 앞에 "\"를 붙이면 문자 자체를 의미하는 것으로 항상 안전하다. 단, 백 슬래시와 일치시키려면 "\\"이라고 써야 한다. ' 또는 "
-
PHP 정규식(PCRE)의 모든 것 - 메타문자(Meta-characters)
Meta-characters (메타 문자) 정규식은 선택과 반복을 포함 할 수 있어 강력하다. 이것들은 메타 문자의 사용에 의해 패턴으로 인코딩된다. 메타 문자는 의미를 가지지 않고 대신에 특별한 방식으로 해석된다. 대괄호([]) 안에 있는 것을 제외하고는 패턴의 어디에서나 인식되는 메타 문자와 대괄호 내에서 인식되는 메타 문자의 두 가지가 있다. 대괄호 바깥에 있는 메타 문자는 다음과 같다. 문자 설명 \ 일반적인 이스케이프 문자 ^ 문장(또는 여러 줄 모드의 줄)의 시작을 선언 $ 문장(또는 여러 줄 모드의 줄)의 끝을 선언 .
-
PHP 정규식(PCRE)의 모든 것 - 구분기호(Delimiters)
Delimiters (구분 기호) PCRE를 사용할 때 정규식 패턴은 Delimiters(구분 기호)로 묶여 있어야 한다. 구분 기호는 영숫자, 백 슬래시(\), 공백이 아닌 문자여야 한다. 자주 사용되는 구분 기호는 슬래시(/), 해쉬 기호(#) 및 물결표(~)다. /foo bar/ #^[^0-9]$# +php+ %[a-zA-Z0-9_-]% 구분 기호가 패턴 내부에서 일치해야 하는 경우 백 슬래시(\)를 사용하여 이스케이프 해야 한다. 구분 기호가 패턴 내부에 자주 나타나면 가독성을 높이기 위해 다른 구분 기호를 선택하는 것이 좋
-
PHP 정규식(PCRE)의 모든 것 - 프롤로그
정규 표현식(正規表現式, 영어: regular expression, 간단히 regexp 또는 regex) 또는 정규식(正規式)은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. - 위키백과 정규식은 프로그래밍에서 필수는 아니지만 알아두면 아주 유용하게 사용하게 된다. 그런데 이 정규식이 그리 만만하지만은 않다. 기본적인 용법만 활용 한다면 크게 어렵지는 않지만 복잡한 패턴을 적용하려고 하면 상당히 어려워진다. 이 글은 PHP 메뉴얼에 설명된 PCRE(Perl Compatible Regular Expressi