💬 LANGUAGES/JAVA

[JAVA] 정규식 관련 패키지 - Pattern, Matcher

삶감 2022. 7. 15. 11:35

 

관련글
🔗 [JS]문자열 - 정규표현식(Regular Expression)

 

 

1. 정규표현식(Regular Expression)이란?

특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어

정규 표현식은 문자열의 검색과 치환을 위해 지원

 

 

 

2. JAVA 정규식 패키지

java.util.regx 패키지를 사용한다.
주로 사용하는 클래스

  • Pattern
  • Matcher

 

2-1. Pattern 클래스 java.util.rege.Pattern

문자열을 검증할 때 활용

 

 

주로 사용하는 메소드

  • Pattern.matches(String reg, String val) : 일치-true, 불일치-false 반환
  • Pattern.compile(String reg) : 주어진 정규표현식으로부터 만든 패턴 반환
  • Pattern.matcher(CharSequence val) : 대상 문자열이 패턴과 일치-true, 불일치-false 반환
  • Pattern.pattern() : 컴파일된 정규표현식을 String 형태로 반환
  • Pattern.split(CharSequence input) : 문자열을 주어진 인자값 CharSequence 패턴에 따라 분리

 

플래그값

  • Pattern.CANON\_EQ : None표준화된 매칭 모드를 활성화
  • Pattern.CASE\_INSENSITIVE : 대소문자를 구분하지 않음
  • Pattern.COMMENTS : 공백과 #으로 시작하는 주석이 무시 (라인의 끝까지).
  • Pattern.MULTILINE : 수식 ‘^’ 는 라인의 시작과, ‘$’ 는 라인의 끝과 매치
  • Pattern.DOTALL : 수식 ‘.’과 모든 문자와 매치 되고 ‘\n’ 도 매치 에 포함
  • Pattern.UNICODE\_CASE : 유니코드를 기준으로 대소문자 구분 없이 매치
  • Pattert.UNIX\_LINES : 수식 ‘.’ 과 ‘^’ 및 ‘$’의 매치 시에 한 라인의 끝을 의미하는 ‘\n’만 인식

 

2-2. Matcher 클래스

문자열의 패턴 해석, 패턴과 일치하는지 판별할 때 주로 활용
생성자가 없음 -> Pattern 객체의 Pattern.matcher()를 통해 얻는다

 

주로 사용하는 메서드

  • Matcher.matches() : 대상 문자열과 패턴이 일치-true, 불일치-false 반환
  • Matcher.find() : 대상 문자열과 패턴이 일치-true
  • Matcher.find(int start) : start위치 이후부터 매칭검색
  • Matcher.start() : 매칭되는 문자열 시작위치 반환
  • Matcher.start(int group) : 지정된 그룹이 매칭되는 시작위치 반환
  • Matcher.end() : 매칭되는 문자열 끝 다음 문자위치 반환
  • Matcher.end(int group) : 지정되 그룹이 매칭되는 끝 다음 문자위치 반환
  • Matcher.group() : 매칭된 부분을 반환
  • Matcher.group(int group) : 매칭된 부분중 group번 그룹핑 매칭부분 반환
  • Matcher.groupCount() : 패턴 내 그룹핑한(괄호지정) 전체 갯수 반환

 

 

참고

728x90
728x90