그냥 개발자 블로그

PHP팁 -정규식 작성법 본문

프로그래밍팁/php

PHP팁 -정규식 작성법

마음이파파 2015. 10. 3. 07:00

 

 

정규식

 문자

대응

 .

  한개의 영문자, 숫자, 한글, 공백, 기호

 \w

 a-z, A-Z의 문자와 0-9의 숫자 그리고 언더스코어문자(_)

 \W

 단어 문자가 아닌 문자. \w의 반대

 \d

 0-9의 숫자

 \D

 숫자가 아닌 문자. \d의 반대

 \s

 공백, 탭, 캐리지 리턴(\r), 새 줄(\n)

 \S

 공백이 아닌 문자. \sdml qkseo

 ^

 문자열의 시작, 찾고자 하는 문자열 앞에 어떤 문자도 없기를 바랄 때 유용하다.

 $

 문자열의 끝, 문자열 끝에서 문자를 찾고자할때 사용한다.  ex) /com$/

 \b

 공백, 문자열의 시작, 문자열의 끝, 혹은 +,=, ' 등과 같이 문자나 숫자가 아닌 문자를 뜻한다.

단어의 시작이나 끝에 대응할 때 \b를 사용하며, 문자열의 처음이나 끝에 있는 단어에도 사용할 수 있다.

 []

 대괄호 사이의 문자들중 하나

 [^ ]

 대괄호 사이의 문자들을 제외한 문자

 |

 문자 앞이나 뒤의 문자 중 하나. ex) a|b

 \

 정규식 특수 기호 ,* . \ /  를 이스케이프 해서 문자열에서 검색할 수 있도록 한다.

 

 

서브패턴

 

 문자

대응 

?

 이전 요소가 없거나 하나 있을 때 사용한다. 이전 요소는 없을 수도 있지만, 나타나면 한 번 만 나타난다는 의미 ex) colou?r 은 "color" or "colour"

 +

 이전 요소가 한번 이상 반복될때 이전 요소가 최소한 한번은 나타나야한다.

 *

 이전 요소가 없거나 한번 이상 반복될때. 이전 요소는 없을 수 있지만, 여러만 나타날수도 있다.

 {n}

 이전 요소가 n번 나타날 때, 예컨대, \d{3}은 연속된 3개의 숫자에 대응한다.

 {n, }

 이전 요소가 n번 이상 나타날 때, 예를 들어, a{2}는 "a"가 두번 이상 나타나면 일치한다.

 {n,m}

 이전 요소가 적게는 n번에서 많게는 m번까지 나타날 때

 

 

 

 

문자

대응

 /i

 정규식이 대소문자를 구분하지 않게 하려면 , 정규식을 작성할때 i 변경자를 사용하면 된다.

 /g

 정규식을 전역에걸쳐 검색할때 사용한다.

 









예제

 

정규식

설명

/^\s*$/

빈 줄을 찾습니다.

/\d{2}-\d{5}/

2자리 숫자, 하이픈 및 추가 5자리 숫자로 구성된 ID 번호를 찾습니다.

/<\s*(\S+)(\s[^>]*)?>[\s\S]*<\s*\/\1\s*>/

HTML 태그를 찾습니다.