728x90

정규 표현식(Regular Expression)
- 특정 패턴을 갖는 문자열을 찾기 위한 표현식

1.'.'
- 임의의 한문자
ex).bc->abc,bbc,cbc,dbc
t.t->tat.tbt.tct

2.'*'
- 바로 앞의 표현에 대한출현 휫수가 0~무한대
ex)a*b->b.ab.aab.aaab.aaaab

3.'+'

- 바로앞의 표현에 대한 출현 휫수가 1~무한대
ex)a+b->ab,aab,aaab,aaaab


4.'?'

- 바로앞의 표현에 대한 출현 횟수가 0~1
ex)a?b->b,ab
홍?길동 -> 길동, 홍길동

5.

- 바로앞의 표현에 대한 출현 횟수가 1
ex)ab

6.'^'

- 바로뒤의 표현으로 시작
ex)^The ->TheDKJF;JLAJDLFKJADLJKF;L
^a?bc ->bcakdfjlajldjflajdl ,abcdkjakdjlajldkjflad
^.e ->aaldkjfl;akjd;lfeakldjflkajdlfj

7.'$'

- 바로앞의 표현으로 종료
ex)입니다$ ->laa;kldjfkjad;l 입니다.
입니다\.$
입니까\?$ -> dlkajfljaldjfl j입니까?

8. [구성요소]

- choice
ex)[abcdefg] - 문자중 1개 선택 : a,b.c,d,e,f,g
[0123456789] ->//숫자중 1개 선택
(a|b|c|d|e|f|g)


9. {}

- 출현횟수
ex)a?b->a{0,1}b -> b.ab
a{2,} -> 2~무한대
a{2} -> 2(고정) ->aa

ex)전화번호 정규식 010-9999-0000
0[0123456789][0123456789]?- [0123456789][0123456789][0123456789][0123456789][0123456789][0123456789]?-[0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789]
//000,011,022

0[0123456789]{1,2}-[0123456789]{3,4}-[0123456789]{4}
0[0-9]{1,2}-[0-9]{3,4}-[0.9]{4}
0\d{1,2}-\d{3,4}-\d{4}

주민번호 정규식 \d{6}-\d{7}

[abcdef] ->[a-f]
[012345] ->[0-5]


[a-z] : 소문자
[A-Z] : 대문자
[a-zA-Z] :영문자
[abcde//xyzABCDEF...XYZ]

[가~힣] :완성형 한글

박씨성 이름
박[가~힣]{1,2} :

10. ()

- 그룹화
- (ab)+ " abababababab

11[^abc]

- 제외
-[0-9]{2,5} : 숫자 2자리~5자리
-[^0-9]{2,5} : 숫자가 아닌 문자 2자리~5자리
^abc -abc를 속한것을 찾아라~


12.

\w ->모든 영문자와 숫자
\W ->모든 영문자와 숫자를 제외한 나머지 문자
\s -> 공백문자
\S -> 공백문자가 아닌 나머지 문자
\d->숫자
\D->숫자가 아닌 나머지 문자

-자바,C#에서도 사용

[출처] 정규식 기초|작성자 Bluelevel

728x90

'JAVA' 카테고리의 다른 글

JSP에서 HTML 생성하기  (0) 2012.07.29
StringTokenizer, FileWriter  (3) 2012.07.29
한글문제  (0) 2012.07.29
JavaScript 키코드  (0) 2012.07.29
JDK 설치  (0) 2012.07.29

+ Recent posts