IT공부방/기초지식

정규 표현식 예제들

saltdoll 2016. 6. 16. 03:17
반응형

== 정규 표현식으로 해결하는 일반적인 문제들 ==

- 이메일 주소 정규식 : (\w+\.)*\w+@(\w+\.)+[A-Za-z]+ 

- 주민등록 번호 : \d{2}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])-[1-4]\d{6} 

- HTML 주석 정규식 : <!-{2,}.*?-{2,}>

- 자바스크립트 주석 정규식 : //.*

- 신용카드 마스터카드 번호 : 5[1-5]\d{14}

- 신용카드 비자카드 번호 : 4\d{12}(\d{3})?

- 신용카드 아메리칸익스프레스 번호 : 3[47]\d{13}

- 신용카드 디스커버 번호 : 6011\d{12}

- 신용카드 다이너스클럽 번호 : (30[0-5]|36\d|38\d)\d{11}

- 신용카드 번호 모두 : (5[1-5]\d{14})|(4\d{12}(\d{3})?)|(3[47]\d{13})|6011\d{12})|((30[0-5]|36\d|38\d)\d{11})



== 기본메타 문자 ==

. 모든 문자와 일치 

| 왼쪽 혹은 오른쪽과 일치

[] 문자 집합 구성원 중 하나와 일치

[^] 문자 집합 구성원응ㄹ 제외하고 일치

- 범위 정의([A-Z와 같은 형태)

\ 다음에 오는 문자를 이스케이프


== 수량자 ==

* 문자가 없는 경우나 하나 이상 연속하는 문자 찾기 (탐용적 수량자)

*? 게으른 * 문자

+ 문자하나이상찾기 (탐요적 수량자)

+? 게으른 + 문자

? 문자가 없거나 하나인 문자 찾기

{n} 정확히 요소와 n번 일치

{m,n} 요소와 m에서 n번 일치

{n,} 요쇼와 n번 이상 일치

{n,}? 게으른 {n,}


== 위치지정 ==

^ 문자열의 시작과 일치

\A 문자열의 시작과 일치

$ 문자열의 끝과일치

\Z 문자열의 끝과 일치

\< 단어의 시작과 일치

\> 단어의 끝과 일치

\b 단어의 경계와 일치

\B \b와 반대로 일치


== 특수한 문자 ==

[\b] 역스페이스

\c 제어문자와 일치

\d 모든 숫자와 일치

\D \d와 반대

\f 페이지 넘기기

\n 줄바꿈

\r 캐리지 리턴

\s 공백 문자와 일치

\S \s와 반대로 일치

\t 탭

\v 수직 탭

\w 영숫자 문자나 밑줄과 일치

\W \w와 반대로 일치

\x 16진수 숫자와 일치

\0 8진수 숫자와 일치


== 역참조와 전후방탐색 ==

() 하위 표현식 정의

\1 첫 번째 일치한 하위 표현식, 두 번째 일치한 하위 표현식은 \2 표기하는 방식

?= 전방탐색

?<= 후방탐색

?! 부정형 전방탐색

?<! 부정형 후방탐색

?(backreference)true 조건 지정

?(backreference)true else 표현식 조건 지정


== 대소문자 변환 ==

\E \L 혹은 \U 변환을 끝냄

\I 다음에 오는 글자를 소문자로 변환

\L \E를 만날때까지 모든 문자를 소문자로 변환

\u 다음에 오는 글자를 대문자로 변환

\U \E를 만날때까지 모든 문자를 대문자로 변환


== 변경자 ==

(?m) 다중행 모드




출처: 정규식 요약

반응형