Java 정규표현식에 대한 이해

박현우·2024년 1월 8일

1. 정규표현식
1-1. 정규표현식 소개

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

1-2. 정규표현식 사용

  • boolean java.util.regex.Pattern.matches(String arg0, CharSequence arg1)
  • arg0 : 정규표현식 문자열
  • arg1 : 형식을 검사받기 위한 내용
  • 즉, 위의 기능은 arg1이 arg0의 형식에 맞는지를 검사하고 결과를 boolean으로 리턴한다.

숫자 모양에 대한 형식 검사
"^[0-9]*$"

영문으로만 구성되었는지에 대한 형식 검사
"^[a-zA-Z]*$"

한글로만 구성되었는지에 대한 형식 검사
"^[ㄱ-ㅎ가-힣]*$"

영문과 숫자로만 구성되었는지에 대한 형식 검사
"^[a-zA-Z0-9]*$"

한글과 숫자로만 구성되었는지에 대한 형식 검사
"^[ㄱ-ㅎ가-힣0-9]*$"

이메일 형식인지에 대한 검사. "아이디@도메인"의 형식을 충족해야 한다.
"^0-9a-zA-Z@0-9a-zA-Z.[a-zA-Z]{2,3}$"

"-"없이 핸드폰번호인지에 대한 형식검사.
"^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개의 댓글