[Java] 정규 표현식

나는양위에자는양·2024년 10월 15일

JAVA

목록 보기
3/3
post-thumbnail

정규 표현식(Regular Expression)

  • 공통된 특성을 가진 문자열 집합을 나타내는 방법
  • 문자열의 패턴을 나타내는 하나의 표현 방식

예시) 전화번호, 이메일 등

즉, 정규 표현식을 사용하면 패턴화된 문자를 빠르게 검증할 수 있다.
정규식 기호가 너무 많기 때문에, 잘 정리된 글 링크를 따로 남긴다. 정규식 문법 기호


Pattern Class

문자열로 나타낸 정규 표현식을 컴파일해준다.

  • compile(String regex) : 정규 표현식을 컴파일
  • matcher(CharSequence input) : 주어진 패턴에 대한 matcher를 생성
  • matches(String regex, CharSequence input) : 문자열과 패턴이 일치할 경우 true 반환
Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab"); // matcher 생성
boolean result = Pattern.matches("a*b", "aaab"); // 바로 패턴 체크 가능

Matcher Class

패턴을 해석해 문자열이 패턴과 매칭되는지 확인하는 역할을 한다.

  • matches() : 문자열과 패턴이 일치할 경우 true 반환
  • find() : 문자열과 패턴이 일치할 경우 true 반환 후, 위치로 이동
  • group(int group) : 그룹화된 group번째 부분 반환
m.find(); // 패턴이 일치하면 true, 불일치하면 false 반환
m.group(n); // 그룹화된 n번째 부분 반환

그룹화

  • 패턴 내에서 특정 부분을 묶어 하나의 단위로 처리하는 것
  • ()를 사용해 그룹화 함
(010)-(\d{4})-(\d{4})

다음과 같이 전화번호의 시작, 중간, 끝을 각각 그룹화 할 수 있다.

마무리

프로그래밍 중 사용한 메서드에 대해서만 간단하게 정리했다.
아래 공식문서를 참고하면 다양한 메서드를 확인할 수 있으니 필요할 때 찾아서 쓰면 될 것 같다.

참고자료

정규식 문법 기호
Class Pattern
Class Matcher

profile
잠을 잘 자자

0개의 댓글