정규표현식은 기본적으로
대,소문자를 구분하고 공백(Space)의 개수를 구분하며
^문자는 ^뒤에 나오는 패턴이 소스문자열의 시작 위치에 있는 것을 검출
$문자는 $앞에 나오는 패턴이 소스문자열로 종료되는 것을 검출
\는 \뒤의 문자를 일반 문자로 취급해서 소스 문자열을 검사함
.은 모든 문자와 매칭됨
[ ]로 표현식을 묶어주면 소스문자열에서 표현식에 포함되는 문자열을 찾아줌, [ ]안에 있는 표현식은 기본적으로 문자 1개를 의미하게 됨
^을 [ ]안에서 사용할 경우 부정의 의미로 사용됨
( )와 |를 사용하여 서브패턴을 지정할 수 있음
*는 0~n개를 의미
+는 1~n개를 의미
?는 0또는 1개를 의미
{ }안에 표시되는 수량을 만족해야함, 1이상 3이하의 경우는 {1,3}과 같이 표시할 수 있음
수량자(*,+,?) 뒤에 ?가 오면 ?앞의 수량자가 지정하는 최소값을 의미
(탐욕적 수량자를 게으른 수량자료 변경)
\w는 워드를 의미(알파벳,숫자,_)
\W는 워드가 아닌 것을 의미
\d는 숫자를의미
\D는 숫자가 아닌 것을 의미
g : 전역 매칭을 한다. 처음부터가 아닌 전체에서 정규식이 맞는걸 찾는다.
i : case Insensitive, 대소문자 구별안함
m : Multiline
사용 예시
1) 숫자만 : ^[0-9]*$
2) 영문자만 : ^[a-zA-Z]*$
3) 한글만 : ^[가-힣]*$
4) 영어 & 숫자만 : ^[a-zA-Z0-9]*$
5) E-Mail : ^[a-zA-Z0-9]+@[a-zA-Z0-9]+$
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+₩.[a-zA-Z]{2,4}$
6) 휴대폰 : ^01(?:0|1|[6-9]) - (?:\d{3}|\d{4}) - \d{4}$
^(010|011|016|017|018|019)-₩d{3,4}-₩d{4}$
7) 일반전화 : ^\d{2,3} - \d{3,4} - \d{4}$
^(070|02|031|032|033|041|042|043|051|052|053|054|055|061|062|063|064)-₩d{3,4}-₩d{4}$
8) 주민등록번호 : \d{6} \- [1-4]\d{6}
^₩d{2}[0-1]₩d[0-3]₩d-?[1-6]₩d{6}$
9) IP 주소 : ([0-9]{1,3}) \. ([0-9]{1,3}) \. ([0-9]{1,3}) \. ([0-9]{1,3})
10) 우편번호 : ^₩d{3}-?₩d{3}$
11) 아이디 : ^[a-zA-Z]₩w{2,7}$
'소프트웨어 > 개발관련' 카테고리의 다른 글
04.정규표현식(正規表現式, Regular Expression) 관련 Site (0) | 2019.01.15 |
---|---|
03.정규표현식(正規表現式, Regular Expression) 정리 (0) | 2019.01.15 |
01. 정규표현식(正規表現式, Regular Expression) (0) | 2019.01.15 |
산업용 PDA AT570, AT870 UHFDemo Source (0) | 2016.06.16 |
안드로이드 개발관련 사이트 (0) | 2016.06.16 |