본문 바로가기

프로그래밍/JAVA

자바 정규식

정규표현식 소개

정규표현식(Regular expression)은 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식언어입니다.
정규표현식은 많은 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색과 치환을 위해서 지원하고 있습니다. 자바에서도 정규표현식을 J2SE 1.4 부터 지원하기 시작했으며, 관련된 주요 클래스들은 java.util.regex 패키지에 포함되어 있습니다.

 

 

정규표현식의 사용

정규표현식을 사용하여 문자열의 형식을 검사하는 방법은 다음과 같습니다.

Pattern.matches(정규표현식, 검사할문자열);

 

위의 구문은 boolean 값을 리턴합니다. 검사할 문자열이 정규표현식의 형식에 맞다면 true, 그렇지 않으면 false를 리턴합니다.

 

 

정규표현식

다음의 정규표현식들은 실무에서 자주 사용되는 값들을 정리한 것입니다. 잘 활용하면 회원가입폼이나 게시판과 같이 사용자의 입력을 받는 부분에서 매우 유용하게 사용될 수 있습니다.

 

숫자 모양에 대한 형식 검사

^[0-9]*$

 

영문으로만 구성되었는지에 대한 형식 검사

^[a-zA-Z]*$

 

한글로만 구성되었는지에 대한 형식 검사

^[ㄱ-ㅎ가-힣]*$

 

영문과 숫자로만 구성되었는지에 대한 형식 검사

^[a-zA-Z0-9]*$

 

한글과 숫자로만 구성되었는지에 대한 형식 검사

^[ㄱ-ㅎ가-힣0-9]*$

 

이메일 형식인지에 대한 검사

– “아이디@도메인”의 형식을 충족해야 한다.

[0-9a-zA-Z]+(.[_a-z0-9-]+)*@(?:\\w+\\.)+\\w+$

 

핸드폰번호인지에 대한 형식검사.

– 반드시 앞자리가 010,010,016~9 사이를 충족해야 한다. “-“는 허용하지 않는다.

^01(?:0|1|[6-9])(?:\\d{3}|\\d{4})\\d{4}$

 

전화번호인지에 대한 형식검사.

– 각 연결부는 “-“로 구분되어야 한다. 각 부분에 대한 자리수도 충족시켜야 한다. “-“는 허용하지 않는다.

^\\d{2,3}\\d{3,4}\\d{4}$

 

주민번호에 형식검사

– 글자수 및 뒷자리 첫글자가 1~4의 범위에 있는지에 대한 검사. “-“는 허용하지 않는다.

^\\d{6}[1-4]\\d{6}

 

아이피주소 형식에 대한 검사

([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})

 

 

정규표현식의 활용

다음의 소스코드는 정규표현식을 사용하여 파라미터로 전달된 문자열의 형식이 맞는지를 판별하기 위한 유틸리티 클래스입니다. 제가 실제로 프로젝트에 활용하고 있는 코드이기도 합니다.


'프로그래밍 > JAVA' 카테고리의 다른 글

구분자로 ArrayList에 담기  (0) 2018.03.12
OOP? 객체지향  (0) 2018.03.11
변수 토글 방법  (0) 2018.03.04
디자인 패턴  (0) 2018.01.30
String, StringBuilder , StringBuffer  (0) 2018.01.29