php 정규표현식 - 특수문자

[[:alpha:]]   [a-zA-Z] 또는 [a-Z] 와 같은 표현
[[:digit:]]     [0-9]와 같은 표현
[[:alnum:]]   [a-Z0-9]와 같은 표현
[[:space:]]   공백문자(space) 의미


[] (각괄호)  [] 안에 있는 문자열중 한개
[ab]cd : acd, bcd 를 포함하는 문자열
[a-d] : [abcd]
[a-z] : 영문소문자 1글자
[a-zA-Z] : 영문대/소문자 1글자
[0-9] : [0123456789]
^[0-9] : 십진수로 시작하는 문자열
^[a-zA-Z] : 알파벳으로 시작하는 문자열
^[A-Z] : 영문 대문자로 시작하는 문자열
^ab[cd]ef : ((ab) + (c혹은 d) + (ef)) 로 시작하는 문자열
[A-Z]+  : 문장안에 반드시 대문자 1개 포함
,[0-9]$ : 1개의 컴마와 1개의 숫자로 끝나는 문자열

[^] 각괄호안에서 제외할 문자를 찾을때 사용
[^ab]cd => acd, bcd 를 제외한 .cd
a[^bc]d => abd, acd 를 제외한 a.d

{} 중괄호 앞에 있는 문자나 문자열의 갯수
a{2}b : (2개의 a) + (b)
a{2,}b : (2개 이상의 a) + (b)
a{1,3}b : (1개부터 3개까지의 a) + (b)


() 둥근괄호 괄호안의 문자를 그룹화시킴
a(bc){2} => (a) + (2개의 'bc')
a(bc)* => (a) + ('bc' 가 0개 이상)
a(bc)?  => (a) + ('bc' 가 0 혹은 1개)
a(bc)+ => (a) + ('bc'  가 1개 이상)


| OR


org | or\.kr   org 나 or.kr 을 포함하는 문자열
\.(peoplepower|pp)21\.org .peoplepower21.org 혹은 .pp21.org
(he|she)[[:space:]]is she is 혹은 he is


\ 역슬래쉬 정규표현식내에서 특수문자를 사용하고자 할때


\*+   *를 하나 이상 포함하는 문자열
\[RE:[1-9][0-9]*\]  ([RE:) + (1~9 중 1개 문자) + (0~9 중 1개이상 문자 혹은 문자없음) + (])


Programming 2005/11/01 19:36
. (마침표) 임의의 한 글자 있는 것.
a.c => abc, acc, adc, ....    (a) + (임의의 한글자) + (c)
.ac => aac, bcc, kcac...     (임의의 한글자) + (ac)

* (별표)  바로 앞의 문자가 없거나 하나 이상임.
a*c => c, ac, aac, aaac ....   (a가 없거나 하나이상) + (c)
abc* => ab, abc, abcc, abccc ...    (ab) + (c가 없거나 1개 이상)
a*bc  => bc, abc, aabc, aaabc, ...   (a가 없거나 하나이상) +  (bc)

+ (플러스) 바로 앞의 문자가 없거나 하나 이상임.
a+c => ac, aac, aaac, aaacdefg ...  (a가 1개 이상) + (c)

? (물음표) 바로 앞의 문자가 없거나 1개.
a?c  => c, ac   (a가 없거나 1개) + (c) 
th?s => ts, ths    (t) + (h가 없거나 한개) + (s)

^ (캐럿) 바로 뒤의 문자열로 시작. (반드시 해당 문자열로 시작)

withoutfear of being happy
h?ap 에는 일치  (h가 없거나 한개) + (ap)
^h?ap 에는 일치하지 않는다. (hap나 ap로 시작)
^w?it 에는 일치 (w 로 시작)   (wit 나 it 로 시작)
^a?wi 일치 (wi 로 시작하거나 awi 로 시작)
^with 일치 (with 로 시작)
^withdrew 불일치 (withdrew 로 시작)
^w.t? =>  wa, wat, wats, wi, wit, with     (w로 시작) + (문자1개) + (t가 있거나 없음) ^.i => wi, ii, si, hi, ... [(문자1개) + (i)] 로 시작)

$ (달러) 바로 앞의 문자열로 끝남. (반드시 해당 문자열로 끝나야)
withoutfear of being happy
happy$  일치 (happy 로 끝남)
h?py$ 일치. (hpy 나 py 로 끝난다)
p.y$      [(p) + (1개문자) + (y)] 로 끝난다
a?p+y$    [(a가 없거나 1개 이상) + (1개 이상의 p) + (y)] 로 끝난다
^happy$   happy 로 시작해서 happy 로 끝나는 문자열, 이경우는 'happy' 만 해당

댓글