안녕하세요 알통몬입니다. 공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ |
문자열이 정해져 있는 형식(정규 표현식)으로 구성되어 있는지 검증해야 하는 경우가 있습니다.
이메일이나 전화변호를 사용자가 제대로 입력했는지 검증해야 할 때 정규 표현식과 비교합니다.
정규 표현식 작성 방법
정규 표현식을 간단히 말하면 문자 또는 숫자와 반복 기호가 결합된 문자열입니다.
아래 표는 정규 표현식을 작성하는데 기본적으로 알아두어야 할 기호들에 대한 설명입니다.
(02|010)-\d{3,4}-\d{4}는 전화번호를 위한 정규 표현식입니다.
그리고
\w+@\w+\.\w+(\.\w+)? 이건
rain483@naver.com 과 같은 이메일을 위한 정규 표현식입니다.
주의할 점은 \. 과 . 은 다릅니다. \.은 점(.)을 말하고 .은 모든 문자 중에서 한 문자를 뜻합니다.
Pattern 클래스
문자열을 정규 표현식으로 검증하는 기능은 java.util.regex.Pattern 클래스의 정적 메서드인 matches() 메서드가 제공합니다.
boolean b = 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 = "rain483@navercom";
result = Pattern.matches(regExp, data);
if(result) {
System.out.println("정규식과 일치합니다.");
} else {
System.out.println("정규식과 일치하지 않습니다.");
}
}
}