Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

정규식(Regular Expression) 대충 정리...

정규식은 학생때도 배웠고 가끔 접하긴 하는데 할때마다 어려운것 같다. 학생때는 아~ 이런거구나 한적도 있는것 같은데 코딩할려고 하면 막상 매칭시킬려고 하면 왜 이렇게 어려운건지.... 할때마다 찾아야 되고.... 정규식만 자유자재로 써도 내공이 한갑자는 상승할것 같다는 생각도 하지만... 그렇다고 막상 따로 공부는 잘 안되고....

자바스크립트에서는(여기서만 이런건지 잘 모르겠지만...) 정규식을 /.../로 묶어준다.

var pattern = /rules/;

식으로 써주면 된다.

^ : 시작표시(매칭이 처음부터 되어야 함)
$ : 끝표시(문자열 끝에 매칭되어야 함)
[] : 문자열 셋
      [ab][a-z][0-9] 라고 써주면 첫글자는 a또는 b이고 그 다음에 a~z가 나오고 그 뒤에 0~9가 나온다는 뜻..
      []안에서 ^쓰면 그 문자가 아닌것들
* : 0번 이상 반복
+ : 1번 이상 반복
? : 0 또는 1회
{} : 횟수 표시
      [a]{2}이면 aa이고 [a]{2,}이면 a가 2개 이상인거 [a]{2, 4}이면 aa, aaa, aaaa 이다.
\d : 숫자, [0-9]와 같음
\D : 숫자가 아닌 것들 [^0-9]와 같음
| : Or의 뜻
{} : 그룹을 묶어 준다.
. : 뉴라인(\n)제외한 한 문자 (진짜 .을 찍기 위해선 \.으로 표시해야 한다.)

더 자세한 문법은  Wikipedia 참고

옵션 /rules/ig 와 같이 써준다.

g : 글로벌의 뜻. 전역 매칭을 한다. 처음부터가 아닌 전체에서 정규식이 맞는걸 찾는다.
i : case Insensitive, 대소문자 구별안함
m : Multiline



정규식 테스트 사이트

덧) 특수문자를 매칭시켜주려면 \\를 사용한다. \\. 이나 \\| 처럼..... 2008.7.11
2008/04/17 11:21 2008/04/17 11:21