이 함수들에서 사용되는 패턴 문법은 펄에 가깝습니다. 표현식은 구분자로 감싸주어야 합니다. 예를 들면, 슬래쉬(/)로 감싸줍니다. 영문자와 숫자, 백슬래쉬(\)를 제외한 어떠한 문자라도 구분자로 사용할 수 있습니다. 구분자가 표현식 안에서 사용될 경우, 백슬래쉬로 이스케이프해야합니다. PHP 4.0.4부터, 펄 형식의 (), {}, [], <> 매칭 구분자를 사용할 수 있습니다. 자세한 설명은 패턴 문법을 참고하십시오.
종료 구분자 뒤에는 매칭에 영향을 주는 여러가지 변경자(midifier)를 쓸 수 있습니다. 패턴 변경자를 참고하십시오.
PHP는 POSIX 확장 정규표현식 함수로 POSIX 확장 문법을 사용하는 정규표현식을 지원합니다.
주의 |
PCRE의 몇몇 제한에 주의를 해야합니다. 자세한 정보는 http://www.pcre.org/pcre.txt을 참고하십시오. |
정규표현식 지원은 Philip Hazel이 작성한 PCRE 라이브러리 패키지에 의해 제공됩니다. 저작권은 University of Cambridge, England에 있습니다. ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/에 존재합니다.
PHP 4.2.0부터 이 함수들은 기본값으로 사용 가능합니다. --without-pcre-regex로 PCRE 함수를 사용하지 않을 수 있습니다. 번들된 라이브러리를 사용하지 않는다면, --with-pcre-regex=DIR을 이용하여 PCRE의 인크루드와 라이브러리 파일이 있는 특정한 디렉토리를 지정하십시오. 이전 버전에서는 이 함수들을 사용하기 위해서는 PHP를 --with-pcre-regex[=DIR]를 주어서 설정하고 컴파일해야합니다.
PHP 윈도우 버전에서는 이 확장 모듈에 대한 지원이 포함되어 있습니다. 이 함수들을 이용하기 위해서 추가로 확장 모듈을 읽어들일 필요가 없습니다.
이 확장 모듈은 다음의 상수를 정의합니다. 이는 확장 모듈을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.
표 1. PREG 상수
상수 | 설명 |
---|---|
PREG_PATTERN_ORDER | $matches[0] 배열은 패턴 전체를 가지고, $matches[1] 배열이 처음 괄호에 들은 서브패턴의 문자열을 가지도록 결과를 지정합니다. 이 플래그는 preg_match_all()에서만 사용합니다. |
PREG_SET_ORDER | $matches[0] 배열은 매치된 첫번째 집합을 가지고, $matches[1]는 두번째 집합을 가지도록 결과를 지정합니다. 이 플래그는 preg_match_all()에서만 사용합니다. |
PREG_OFFSET_CAPTURE | PREG_SPLIT_OFFSET_CAPTURE의 설명을 보십시오. 이 플래그는 PHP 4.3.0부터 사용할 수 있습니다. |
PREG_SPLIT_NO_EMPTY | 이 플래그는 preg_split()가 비어있지 않은 조각만을 반환하게 합니다. |
PREG_SPLIT_DELIM_CAPTURE | 이 플래그는 preg_split()가 구분자 안의 괄호로 둘러싸인 표현식도 잡아내게 합니다. PHP 4.0.5부터 사용할 수 있습니다. |
PREG_SPLIT_OFFSET_CAPTURE | 이 플래그를 설정하면, 매치하는 모든 문자열 요소의 시작 위치를 함께 반환합니다. 매치된 문자열을 0으로, 문자열 시작 위치를 1로 가지는 배열을 원소로 가지는 배열을 반환합니다. 이 플래그는 PHP 4.3.0부터 사용할 수 있고, preg_split()에서만 사용합니다. |