Matcher 클래스 메서드들
find() : 패턴이 일치하는 경우 true를 반환하고, 그 위치로 이동(여러개가 매칭되는 경우 반복 실행가능)
find(int start) : start위치 이후부터 매칭검색을 수행
start() : 매칭되는 문자열 시작위치 반환
start(int group) : 지정된 그룹이 매칭되는 시작위치 반환
end() : 매칭되는 문자열 끝 다음 문자위치 반환
end(int group) : 지정되 그룹이 매칭되는 끝 다음 문자위치 반환
group() : 매칭된 부분을 반환
group(int group) : 매칭된 부분중 group번 그룹핑 매칭부분 반환
groupCount() : 패턴내 그룹핑한(괄호지정) 전체 갯수 반환
matches() : 패턴이 전체 문자열과 일치할 경우 true 반환
그룹화 이해하기
패턴 내에서 그룹을 지정하기 위해서 ()를 통해 그룹을 설정해주면 되고, () 갯수만큼 그룹이 만들어 진다.
위 예제에서는 2개의 그룹이 설정이 되었으며, 각 그룹은 group()메서드를 통해 1,2번으로 접근이 가능하다.
group()나 group(0) 메서드는 매칭된 전체 문자열을 반환한다.
매칭 위치 반환
start()메서드를 통해 패턴이 일치하는 문자열의 시작 위치와 end() 메서드를 통해 패턴이 끝나는 문자열의 다음 문자위치를 반환한다.
end() 메서드가 패턴이 일치하는 문자열의 끝부분 위치가 아닌 끝부분 다음 문자의 위치라는 것을 확인하자.
start(int group)와 end(int group)에 group이 지정되는 경우 해당 그룹이 매칭되는 위치를 반환하게 된다.
이보다 더 많은 메서드들이 있지만 이정도만 알아도 기본적인 패턴 매칭하는데는 문제가 없어 보인다^^
http://sexy.pe.kr/tc/532
'언어 > JAVA' 카테고리의 다른 글
Scanner와 BufferedReader의 차이 (0) | 2016.11.29 |
---|---|
System.in.read() 표준입출력, (0) | 2016.11.25 |
[Java] 문자열 나누기(분리하기) - StringTokenizer, split (0) | 2016.11.24 |
[JAVA] (조금 더 정확한)실행시간 확인, 측정하기(timer) (0) | 2016.11.18 |
java 디자인패턴 (0) | 2016.11.11 |
댓글