[정규식] 예제

2020. 2. 15. 16:27개발언어/정규식

#### 정규식

^ : 문자열의 시작
$ : 문자열의 종료
. : 임의의 한 문자 (문자의 종류와 관계없음)
| : or의 의미임
? : 앞 문자가 없거나 하나 있을때
+: 앞 문자가 하나 이상임 (최소 한개 이상)
: 앞 문자가 없을 수도 있고, 무한정 많을 수도 있음
[] : 문자 클래스의 지정, 문자의 집합이나 범위를 나태내면 - 기호를 사용한다. [] 내에서 ^를 사용하면 not의 의미임
{} : 횟수나 범위를 나타냄. 예를 들어 k{5}의 경우 k가 5번 반복되는 경우임, a{3,5}는 a가 3번 이상 5번 이하 반복되는 경우임
\w : 알파벳이나 숫자
\W : \w의 not. 즉 알파벳이나 숫자를 제외한 문자
\d : [0-9]와 동일
\D : 숫자를 제외한 모든 문자

#### 위와 같은 표현식을 활용하여 아래와 같이 패턴을 체크할 수 있다.

숫자만 : ^[0-9]*$
영문자만 : ^[a-zA-Z]*$
한글만 : ^[가-힣]*$
영어 & 숫자만 : ^[a-zA-Z0-9]*$
E-Mail : ^[a-zA-Z0-9]+@[a-zA-Z0-9]+$
휴대폰 : ^01(?:0|1|[6-9]) - (?:\d{3}|\d{4}) - \d{4}$
일반전화 : ^\d{2.3} - \d{3,4} - \d{4}$
주민등록번호 : \d{6} \- [1-4]\d{6}
IP 주소 : ([0-9]{1,3}) \. ([0-9]{1,3}) \. ([0-9]{1,3}) \. ([0-9]{1,3})