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