728x90
정규 표현식과 Pattern 클래스
문자열이 정해져 있는 형식으로 구성되어 있는지 검증해야하는 경우에 사용
정규 표현식 작성 방법
정규표현식 작성 방법은 API 도큐먼트에서 java.util.regex.Pattern 클래스에서 볼 수 있다.
기호 | 설명 | ||
[] | 한개의 문자 | [abc] | a, b, c중 하나의 문자 |
[^abc] | a, b, c 이외의 하나의 문자 | ||
[a-zA-Z] | a~z, A~Z 중 하나의 문자 | ||
\d | 한 개의 숫자, [0-9]와 동일 | ||
\s | 공백 | ||
\w | 한 개의 알파벳 또는 한 개의 숫자, [a-zA-Z_0-9]와 동일 | ||
? | 없음 또는 한 개 | ||
* | 없음 또는 한 개 이상 | ||
+ | 한 개 이상 | ||
{n} | 정확히 n개 | ||
{n,} | 최소한 n개 | ||
{n, m} | n개에서부터 m개까지 | ||
() | 그룹핑 |
(ex) 전화번호 정규 표현식 ( 02-123-4567, 010-1234-5678)
(02|010)-\d{3,4}-\d{4}
기호 | 설명 |
(02|010) | 02 또는 010 |
- | -포함 |
\d{3,4} | 3자리 또는 4자리 숫자 |
- | -포함 |
\d{4} | 4자리 숫자 |
(ex) 이메일 정규 표현식 ( java@naver.com)
\w+@\w+\.\w+(\.\w+)?
기호 | 설명 |
\w+ | 한 개 이상의 알파벳 또는 숫자 |
@ | @ |
\w+ | 한 개 이상의 알파벳 또는 숫자 |
\. | . |
\w+ | 한개 이상의 알파벳 또는 숫자 |
(\.\w+)? | \.\w+ 이 없거나 한번 더 올 수 있음 |
주의할 점은 \. 과 .은 다른데, \.은 문자로서의 점을 말하지만, .은 모든 문자중에서 한 개의 문자를 뜻한다.
Pattern 클래스
정규 표현식으로 문자열을 검증하는 방법을 알아보자.
문자열을 정규 표현식으로 검증하는 기능은 java.util.regex.Pattern 클래스의 정적 메소드인 matches() 메소드가 제공된다.
boolean result = Pattern.matches("정규식", "검증할 문자열");
첫 번째 매개값은 정규 표현식이고, 두 번째 매개값은 검증할 문자열이다. 검증 후 결과가 boolean 타입으로 리턴된다.
'Languages > Java' 카테고리의 다른 글
[Java] 컬렉션 프레임워크 (Collection Framework) (1) List 컬렉션 (0) | 2021.12.26 |
---|---|
[Java] 컬렉션 프레임워크 (Collection Framework) (0) | 2021.12.26 |
[Java] 기본 API 클래스 - Object 클래스 (2) toString, clone, finalize (0) | 2021.12.21 |
[Java] 기본 API 클래스 - Object 클래스 (1) equals, hashCode (0) | 2021.12.21 |
[Java] 기본 API 클래스 (0) | 2021.12.21 |
댓글