Java java.math 패키지의 Matcher 클래스
java.util.rege.Matcher
클래스는 입력 문자열의 패턴을 해석하고 주어진 패턴과 일치하는지 판별할 때 주로 사용된다.
Matcher 메소드
메소드 | 설명 |
---|---|
matches() |
패턴이 전체 문자열과 일치할 경우 true를 반환한다. |
boolean find() |
패턴이 일치하는 경우 true를 반환하고, 그 위치로 이동한다. 여러개가 매칭되는 경우 반복 실행 가능하다. |
boolean find(int start) |
start 위치 이후부터 매칭 검색을 수행한다. |
String group() |
매칭된 부분을 반환한다. |
String group(int group) |
매칭된 부분 중 group번 그룹핑 매칭 부분을 반환한다. |
int groupCount() |
패턴내 그룹핑한(괄호 지정) 전체 갯수를 반환한다. |
int start() |
매칭되는 문자열 시작 위치를 반환한다. |
int start(int group) |
지정된 그룹이 매칭되는 시작 위치를 반환한다. |
int end() |
매칭되는 문자열 끝 다음 문자 위치를 반환한다. |
ind end(int group) |
지정되 그룹이 매칭되는 끝 다음 문자 위치를 반환한다. |
Matcher 예제
아래 코드는 소문자로 이루어진 단어만 받아와 표시하는 로직이다. 예를 들어 I
, it.
와 같이 대문자와 특수문자가 포함된 경우는 제외하고 표시한다.
package com.devkuma.basic.macher;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatcherTutorial {
public static void main(String[] args) {
String regEx = "[a-z]*[a-z]";
String text = "I never dreamed about success, I worked for it.";
Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
System.out.println(matcher.group());
}
}
}
결과는 아래와 같다.
never
dreamed
about
success
worked
for
it
최종 수정 : 2021-08-27