PHP 정규식 사용 예제(미완성, 정리중 원본 출처는 영문 사이트)

Programing 2009. 9. 2. 11:11

목차:
1. 기본 적인 방법
2. 검사 패턴
3. 치환(교체) 패턴
4. 배열 처리

정규식은 어떠한 형식에 맞춰 일치 하는 결과를 가지고 올수 있을것입니다.
예를 들면 "foo"라는 정규식으로 "John plays football" 이라는 문장에서 "foo"를 검출하거나 "foo"를 치환할수 있겠습니다.

정규식에서 어떠한 문자들(특수 문자)은 제각각 의미를 가지고 있습니다.
예를 들면 달러기호($)는 문장의 끝, 캐럿(^)은 문장의 시작을 뜻하며 문장 그자체가 일치 하는 것으로는 "리터날(literals)"이라고 부릅니다.

점(.)은 줄바꿈 또는 이스케이프(\)을 제외한 단일 문자를 의미합니다.
.을 패턴으로 간단 하게 이용하는 예를 들어보겠습니다.
h.t는 hat, hothit, hut, h7t, 기타 비슷한것을 검출 하게 됩니다.
p.c는 pic, pac, 기타 비슷한것을 검출하게 될겁니다.

직선(|) 문자는 논리 동작인 or와 같은 동작을 하며 ()와 같이 사용하여 그룹화 할수도 있습니다.

예를 들어 보겠습니다.
Utah|Idaho|Nevada
UtahIdahoNevada가 포함된 문자열 찾음

(Nant|b)ucket
Nantucket이나 bucket등을 검색


1. 기본적인 방법

정규식 일치
foo "foo"가 있는 것(존재 하는 문자열)
^foo "foo"로 시작하는것
foo$ "foo"로 끝나는것
^foo$ "foo"로 시작하고 끝나는것(일치 한다는 말)
[abc] a, b, c 전부중 하나 포함한 경우
[a-z] 소문자 a에서 z중 하나 포함한 경우
[^A-Z] Any character that is not a uppercase letter
(gif|jpg) gif나 jpg가 들어간 경우
[a-z]+ 한개, 또는 그 이상의 알파벳 소문자가 들어간 경우
[0-9\.\-] Аny number, dot, or minus sign
^[a-zA-Z0-9_]{1,}$ Any word of at least one letter, number or _
([wx])([yz]) wy, wz, xy, or xz
[^A-Za-z0-9] Any symbol (not a number or a letter)
([A-Z]{3}|[0-9]{4}) Matches three letters or four numbers


원본출처:
http://www.webcheatsheet.com/php/regular_expressions.php

posted by ned3y2k