개발 & 데이터베이스/JAVA

[JAVA] 정규표현식 정의와 자주 쓰이는 예제

K.두부 2022. 8. 23. 22:48
반응형
정규표현식 정의

특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 언어로 코드가 간결해지는 장점을 가지고 있지만 가독성이 떨어진다.

 

정규표현식 문법
^ 문자열의 시작
[^] 괄호 안에 있는 문자를 제외한 문자
$ 문자열의 끝
. 임의의 한 문자
* 문자가 0번 이상 발생
+ 문자가 1번 이상 발생
? 문자가 0번 혹은 1번 발생
[ ] 문자의 집합 범위를 나타냄
[0-9] : 숫자 (0부터 9)
[a-z] : 소문자 
{ } 횟수 또는 범위를 의미
{n.} : 최소한 n개
( ) 소괄호 안의 문자를 하나의 문자로 인식
\w 알파벳이나 숫자
\W 알파벳이나 숫자를 제외한 문자
\s 공백문자
\S 공백문자가 아닌 나머지 문자
\d 모든 숫자
\D 숫자를 제외한 모든 문자
자주 쓰이는 정규표현식
정규식 의미
^[0-9] 모든 숫자
^[a-zA-Z] 알파벳만
^[가-힣] 한글만
^[a-zA-z0-9] 알파벳이나 숫자만
[^0-9] 숫자를 제외한 모든 문자
^[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-z]+$ 이메일
\w+@\w+\.\w+(\\.\\w+)? 이메일
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,}/ 비밀번호 (최소 8자리, 대문자 1, 소문자 1, 숫자 1, 특수문자 1)
\d{6}-\-[1-4]\d{6} 주민등록번호
^\d{3}-\d{2}$  우편번호

 

반응형