정규 표현식
문자열에서 특정 패턴을 표현하는 방법으로 정규 표현식이 사용된다. strstr() 과 같은 함수로 특정 패턴을 찾아 낼 수도 있지만 한계가 있다. 정규 표현식을 적절히 사용한다면 다양한 의미를 부여하여 유용하게 쓰일 수 있다.
1. .
임의의 한 문자. 줄바꿈 문자(/n)를 제외한 모든 문자를 대신할 수 있다.
예) .at = cat, sat, mat
2. \
특수문자 무시. '$', '.', '^' 등의 특수문자를 정규 표현식에서의 특수문자가 아닌 문자 그 자체로 사용하기 위해 사용된다.
예) \$php\! = $php!
3. ^
처음에 바로 뒤의 문자열로 시작. 문자열의 맨 앞부분에 이 표현이 있어야 한다.
예) ^com = com, common, computer, compat
4. $
마지막에 바로 앞의 문자열로 끝. 이 표현으로 문자열이 끝나야 한다.
예) com$ = .com, abcdcom
5. |
OR. 선택을 표현한다.
예) com|edu|net = onlyweis.com, educat, anetb
6. ( )
패턴의 시작과 끝
예) co(m){2}on = common
7. *
0번 이상 반복.
예) (very )*nice = nice, very nice, very very nice
8. +
최소 1번 이상 반복
예) (very )+nice = very nice, very very nice
9. { }
횟수 지정의 시작과 끝
예) (very ){2,4} = very very, very very very, very very very very
10. ?
없거나 하나인 문자. 하위 표현식을 옵션으로 취급한다.
예) ca?t = ct, cat, abcatd
11. [^]
맨 처음 시작되었을 때만 not 의 의미.
예) ca[^t] = ca 다음에 t 가 아니면 true 리턴.
12. [-]
글자의 범위를 지정.
예) [a-z] = 알파벳 a 부터 z 까지 지정.
13. / /i
패턴 구분자 뒤의 "i" 는 대소문자를 구별하지 않게 한다.
예) "/^[a-z0-9_-]+$/i"
-> 처음부터 끝까지 영(대,소)문자와 숫자, 언더바(_), 하이픈(-) 으로 이루어진 문자열