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

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

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

PHP 정규식(PCRE)의 모든 것 - 마침표(Dot)

유영재

Dot (마침표 문자)

캐릭터 클래스 밖에서도 패턴의 마침표(.)는 임의의 한 문자와 일치한다. 기본적으로 비인쇄 문자는 포함하지만 개행 문자(줄바꿈)는 포함되지 않는다. PCRE_DOTALL 옵션이 설정되면 마침표는 줄바꿈과도 일치한다. 마침표의 처리는 "^"와 "$"의 처리와는 완전히 독립적이다. 유일한 관계는 둘 다 개행 문자를 포함한다는 것이다. 마침표는 캐릭터 클래스에서 특별한 의미가 없다.

\C를 사용하여 1 바이트를 일치시킬 수 있다. UTF-8 모드(u)에서는 마침표가 멀티 바이트로 구성 될 수 있는 전체 문자와 일치하기 때문에 1 바이트를 일치하려는 경우 의미가 있다.

<?php
$str = '가나다';
preg_match('/./u', $str, $matches);
print_r($matches);
// Array
// (
//     [0] => 가
// )

preg_match('/\C/u', $str, $matches);
print_r($matches);
// Array
// (
//   [0] => �
// )

comments powered by Disqus