728x90
1. 정규 표현식
▷ 문자 또는 숫자와 관련된 표현과 반복 기호가 결합된 문자열
NO | 표현 및 기호 | 설명 | ||
1 | [ ] | 한 개의 문자 | [ abc] | a, b, c 중 하나의 문자 |
[^abc] | a, b, c 이외의 하나의 문자 | |||
[a-zA-Z] | a~z, A~Z 중 하나의 문자 | |||
2 | \d | 한 개의 숫자, [0-9]와 동일 | ||
3 | \s | 공백 | ||
4 | \w | 한 개의 알파벳 또는 한 개의 숫자, [a-zA-Z_0-9]와 동일 | ||
5 | \. | . | ||
6 | . | 모든 문자 중 한 개의 문자 | ||
7 | ? | 없음 또는 한 개 | ||
8 | * | 없음 또는 한 개 이상 | ||
9 | + | 한 개 이상 | ||
10 | {n} | 정확히 n개 | ||
11 | {n,} | 최소한 n개 | ||
12 | {n, m} | n개부터 m개까지 | ||
13 | a | b | a 또는 b | ||
14 | ( ) | 그룹핑 |
2. Pattern 클래스로 검증
▷ java.util.regex 패키지의 Pattern 클래스는 정규 표현식으로 문자열을 검증하는 matches() 메소드 제공
import java.util.regex.Pattern; public class PatternExample { public static void main(String[] args) { String regExp = "(02|010)-\\d{3,4}-\\d{4}"; String data = "010-123-4567"; boolean result = Pattern.matches(regExp, data); if(result) { System.out.println("정규식과 일치합니다."); } else { System.out.println("정규식과 일치하지 않습니다."); } // 역슬래시(\) 한 번만 넣으면 문자열로 인식하기 때문에 두 번 사용합니다. regExp = "\\w+@\\w+\\.\\w+(\\.\\w+)?"; data = "angel@mycompany.com"; // data = "angel@mycompany.co.kr"; result = Pattern.matches(regExp, data); if(result) { System.out.println("정규식과 일치합니다."); } else { System.out.println("정규식과 일치하지 않습니다."); } } } // 출력 : // 정규식과 일치합니다. // 정규식과 일치합니다.
▷ 날짜에서 그룹으로 묶은 이유는 하나로 인식해서 ?를 붙여 해당 그룹이 있는지 없는지 확인하기 위해서 입니다.
정규 표현식은 문자열이 정해져 있는 형식으로 구성되어 있는지 검증을 해야할 때 사용합니다.
제대로 작성했는지 확인하기 위해서 사용하면 좋을 것 같아요!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~

728x90
'BackEnd > Java' 카테고리의 다른 글
[java] 이것이 자바다 ch12 어노테이션(annotation) (0) | 2023.01.21 |
---|---|
[java] 이것이 자바다 ch12 리플렉션(reflection) (0) | 2023.01.21 |
[java] 이것이 자바다 ch12 날짜와 시간 클래스 (0) | 2023.01.20 |
[java] 이것이 자바다 ch12 수학(Math) 클래스 (0) | 2023.01.19 |
[java] 이것이 자바다 ch12 포장 클래스 (0) | 2023.01.19 |