1. 개념
문자열이 정해져 있는 형식(정규 표현식)으로 구성되어 있는지 검증해야 하는 경우에 사용하는 것
2. 정규표현식 문법
Regular Expression | Description |
^ | 문자열의 시작 |
$ | 문자열의 끝 |
. | 임의의 문자 1개를 의미 |
* | 문자가 0번 이상 반복 |
+ | 문자가 1번 이상 반복 |
? | 문자가 0번 혹은 1번 |
Regular Expression | Description |
[ ] | 문자의 집합 범위를 의미 |
[0-9] | 숫자 0부터 9 |
[a-z] | 알파벳 a부터 z |
[a-zA-Z] | 알파벳 a부터 z + 알파벳 A부터 Z |
[a-zA-Z0-9] | 알파벳 a부터 z + 알파벳 A부터 Z + 숫자 0부터 9 |
[^a-z] | 알파벳 a부터 z가 아닌 것 |
(앞에 ^ 가 붙어있을 경우 not을 의미) |
Regular Expression | Description |
{ } | 문자가 나오는 횟수를 의미 |
{x} | 앞의 문자가 정확히 x번 나옴 |
{x, } | 앞의 문자가 적어도 x번 나옴 |
{x,y} | 앞의 문자가 최소 x번 나오고, 최대 y번 까지 나옴 |
Regular Expression | Description |
( ) | 소괄호 안의 문자를 하나의 문자로 인식(Grouping) |
| | or 조건 |
\ | 확장문자 (*아래 추가 설명 참고) |
Regular Expression | Description |
\b | 단어의 경계 |
\B | 단어가 아닌 것의 경계 |
\s | 공백문자(whitespace) |
\S | 공백문자가 아닌 나머지 문자 (whitespace를 제외한 문자) |
\w | 알파벳이나 숫자, 언더바(_) 기호 |
\W | 알파벳이나 숫자, 언더바(_) 기호를 제외한 문자 |
\d | 숫자 ([0-9]와 동일) |
\D | 숫자를 제외한 모든 문자 |
참고:
https://wildeveloperetrain.tistory.com/178
3. 정규 표현식에서 주의할 점
정규식을 만들다 보면 (,[,.등 처럼 특수문자를 그대로 인식해야하는 경우나 \d등 같은 정규식 문법을 사용해야하는데, java에 "\("으로 입력해 사용하면 오류가 난다.
1) 이스케이프
이때는 특수문자 앞에는 \\이렇게 백슬래시를 2번 붙여서 사용한다.
\\.
2) 백슬래시
이때는 \ 앞에 한번 더 붙여 사용한다.
\\d
4. Pattern
1) 개념
정규표현식으로 문자열을 검증할 때 사용하는 java.util.regex 패키지에 있는 클래스
2) 메서드
matches()
정규표현식에 맞는지 검증 결과를 boolean 형태로 return
boolean result = Pattern.matches("[^a]", "abc");
'자바' 카테고리의 다른 글
[자바 개념] IO(입출력) (0) | 2023.03.19 |
---|---|
[자바 개념] Optional<T> (0) | 2023.03.08 |
[자바 개념] StringBuffer, StringBuilder (0) | 2023.02.06 |
[자바 개념] 자바 데이터 타입 (0) | 2023.01.13 |
[자바 개념] stream (0) | 2023.01.13 |