자바

JAVA 자바 정규 표현식과 Pattern 클래스 이메일 타입 체크 예

알통몬_ 2017. 3. 15. 10:44
반응형

안녕하세요 알통몬입니다.

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 

문자열이 정해져 있는 형식(정규 표현식)으로 구성되어 있는지 검증해야 하는 경우가 있습니다. 

이메일이나 전화변호를 사용자가 제대로 입력했는지 검증해야 할 때 정규 표현식과 비교합니다. 


정규 표현식 작성 방법

 정규 표현식을 간단히 말하면 문자 또는 숫자와 반복 기호가 결합된 문자열입니다. 

아래 표는 정규 표현식을 작성하는데 기본적으로 알아두어야 할 기호들에 대한 설명입니다.



(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("정규식과 일치하지 않습니다.");

}

}

 

}

반응형