리자

PHP 패턴 변경자

· 2010-10-29 (금) 17:27:22 · 3770 · 2
/i : 대소문자 구분하지 않음

/x : 공백을 무시

이 변경자가 지정되면, 공백 문자는 이스케이프 되거나 문자 클래스 안에 있을 경우를 제외하고, 완전히 무시합니다. 문자 클래스 밖에서 이스케이프 되지 않은 # 사이와 뉴라인 문자 다음의 문자도 무시합니다. 이는 펄의 /x 변경자와 같고, 복잡한 패턴 안에 코멘트를 사용할 수 있게 합니다. 그러나 이는 데이터 문자에만 해당하는 점에 주의하십시오. 공백 문자는 패턴의 특별한 문자 시퀀스 안에는 존재할 수 없습니다. 예를 들면, 조건 서브 패턴을 나타내는 (?( 시퀀스에는 나와서는 안됩니다.

/m : ^ (캐럿)과 $ (달러)를 뉴라인(\n) 직전과 직후에서 일치

기본적으로, PCRE는 주어진 문자열을 하나의 "줄"로 취급합니다. (실제로 몇개의 라인을 가지더라도) "줄 시작" 메타문자(^)는 문자열의 처음만을 인식하며, "줄 끝" 메타문자($)는 문자열의 끝이나 (D 변경자가 지정되지 않는 한) 마지막 뉴라인의 직전만을 인식합니다. 이는 펄과 같습니다. 이 변경자를 지정하면, "줄 시작"과 "줄 끝"은 주어진 문자열의 모든 뉴라인 직후와 직전을 인식합니다. respectively, as well as at the very start and end. 이는 펄의 /m 변경자와 동일합니다. 주어진 문자열에 "\n" 문자가 존재하지 않거나 ^나 $ 패턴이 일어나지 않으면 이 변경자는 아무런 효과가 없습니다.

/s : 마침표는 뉴라인(\n)과 동일

이 변경자가 지정되면, 패턴의 점 메타문자는 뉴라인을 포함하는 모든 문자를 인식합니다. 지정하지 않으면, 뉴라인은 제외됩니다. 이 변경자는 펄의 /s 변경자와 동일합니다. [^a]와 같은 부정클래스는 이 변경자에 관계 없이 항상 뉴라인 문자를 포함합니다.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 18:00:23 Regular Expression (정규표현식)에서 이동 됨]</div>
|

댓글 2개

앗! 생각났어요!
/g
좀 php 에서 편리하게.....요 ㅜㅜ
* 추가
/e
변경할 문자열을 PHP 코드로 처리하고, 그 결과를 검색된 문자열의 이용하여 일반적인 치환을 합니다. 작은 따옴표, 큰 따옴표, 백슬래시와 NULL 문자는 백슬래시로 이스케이프됩니다.

/ie

고맙습니다.
댓글을 작성하시려면 로그인이 필요합니다.

개발자팁

5,403건

개발과 관련된 유용한 정보를 공유하세요. 질문은 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
MySQL 10-11-13 조회 4,093
기타 10-11-09 조회 3,536
Flash 10-11-04 조회 2,248
기타 10-10-29 조회 3,005
JavaScript 10-10-29 조회 3,771
MySQL 10-10-27 조회 3,037
jQuery 10-10-24 조회 5,318
기타 10-10-23 조회 3,177
기타 10-10-22 조회 3,337
Flash 10-10-21 조회 2,511
MySQL 10-10-21 조회 3,255
Linux 10-10-19 조회 2,342
기타 10-10-19 조회 2,208
Flash 10-10-19 조회 3,679
기타 10-10-19 조회 2만
JavaScript 10-10-19 조회 2,353
기타 10-10-19 조회 2,414
기타 10-10-18 조회 3,750
기타 10-10-15 조회 1,822
기타 10-10-14 조회 3,289
Flash 10-10-12 조회 2,733
Flash 10-10-07 조회 2,390
JavaScript 10-10-07 조회 2,745
기타 10-10-06 조회 6,394
기타 10-10-05 조회 2,036
기타 10-10-05 조회 3,063
JavaScript 10-10-05 조회 9,112
정규표현식 10-10-05 조회 4,083
Flash 10-09-30 조회 4,532
기타 10-09-26 조회 3,618