logo

Java Matcher group() 메서드

그룹 메소드는 이전 일치 항목에서 캡처한 일치된 입력 시퀀스를 문자열 형식으로 반환합니다. 이 메서드는 패턴이 입력의 빈 문자열과 성공적으로 일치하는 경우 빈 문자열을 반환합니다.

서명

Java에는 3가지 유형의 그룹 메소드가 있습니다. 그룹 메소드의 서명은 다음과 같습니다.

아니요. 방법 설명
1 문자열 그룹() 이전 일치 항목에서 캡처한 일치된 시퀀스를 문자열로 반환합니다.
2 문자열 그룹(int 그룹) 이전 일치 작업 중에 해당 그룹에서 캡처한 일치된 시퀀스를 문자열로 반환합니다.
문자열 그룹(문자열 이름) 이전 일치 작업 중에 지정된 명명된 그룹에서 캡처한 일치하는 시퀀스를 반환하거나 일치가 실패하면 null을 반환합니다.

다음에 의해 지정됨

인터페이스 MatchResult의 그룹

보고

문자열 형식으로 이전 일치 항목과 일치하는 (비어 있을 수도 있는) 하위 시퀀스

던지기

IllegalStateException - 아직 일치가 시도되지 않았거나 이전 일치 작업이 실패한 경우.

실시예 1

 import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexGroupExample1 { public static void main(String[] args) { // TODO Auto-generated method stub Pattern p=Pattern.compile('a(bb)'); Matcher m=p.matcher('aabbabbabbaaa'); while(m.find()) System.out.println('Start :'+m.start()+', End : '+m.end()+', Group '+m.group()); } } 
지금 테스트해보세요

산출:

 Start :1, End : 4, Group abb Start :4, End : 7, Group abb Start :7, End : 10,Group abb 

실시예 2

 import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexGroupExample2 { public static void main(String[] args) { Pattern pattern = Pattern.compile('i(s)'); String input = 'My name is Khan and m not a terrerist.'; Matcher m = pattern.matcher(input); m.find(); String grp0 = m.group(0); String grp1 = m.group(1); System.out.println('Group 0 ' + grp0); System.out.println('Group 1 ' + grp1); System.out.println(input); } } 
지금 테스트해보세요

산출:

 Group 0 is Group 1 s My name is Khan and m not a terrerist. 

실시예 3

 import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexGroupExample3 { public static void main(String args[]) { String regex = '\b(?[A-Za-z\s]+)'; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher('#### Hello world ####'); while (matcher.find()) { if (matcher.groupCount() == 1) { System.out.println(' '+matcher.group('java')); } } } } 
지금 테스트해보세요

산출:

 Hello world 

참고: 여기서 그룹 이름 java에는 소문자와 대문자 모두의 알파벳이 포함되어 있습니다.