본문으로 바로가기

[Java] 정규표현식 문법

category TIL/Java 2022. 5. 7. 19:14

문법

종류 역할
^ 정규식의 시작
$ 정규식의 끝
. 임의의 한 문자
? 앞에 있는 문자 0개 또는 1개
* 앞에 있는 문자 0개 이상
+ 앞에 있는 문자 1개 이상
{ } 문자가 나오는 횟수
• {n} : 문자 n개
• {n,} : 문자 n개 이상
• {n, m} : 문자 n개 이상, m개 이하
( ) 하나의 문자로 취급
- 범위 지정

 

문자 클래스

종류 역할
[abc] a 또는 b 또는 c
[^abc] a,b,c 제외
[a-zA-Z] a, b, ・・・, z 또는 A, B, ・・・, Z 사이의 문자를 포함하고 있는지 확인
[a-d[A-D]] a, b, ・・・, d 또는 A, B, ・・・, D 사이의 문자를 포함하고 있는지 확인
([a-zA-D]와 동일)

 

정의된 문자 클래스

종류 역할
\d 숫자
[0-9]
\D 숫자를 제외한 모든 숫자
 [^0-9]
\s 공백문자
• \t, \n, \x0B, \f, \r
\S 공백문자를 제외한 문자
 [^\s]
\w 알파벳 또는 숫자
• [a-zA-Z0-9]
\W 알파벳과 숫자를 제외한 문자
 [^\w]

 

예시

  • 영어와 숫자만 가능 (띄어쓰기 불가능)
String pattern = "^([a-zA-Z0-9]*)$";

 

  • 영어와 숫자만 가능 (띄어쓰기 가능)
String pattern = "^([a-zA-Z0-9\s]*)$";

 

  • 한글로 된 문자 포함, 숫자도 가능
String pattern = "^([가-힣]+[0-9]*)$";

 

  • 한글로 된 문자 포함, 숫자는 3개까지 가능
String pattern = "^([가-힣]+[0-9]{0,3})$";

 


[ 출처 ]

https://gh402.tistory.com/54?category=890133