Metóda skupiny vráti zhodnú vstupnú sekvenciu zachytenú predchádzajúcou zhodou vo forme reťazca. Táto metóda vráti prázdny reťazec, keď sa vzor úspešne zhoduje s prázdnym reťazcom na vstupe.
Podpis
V jave existujú 3 typy skupinových metód. Podpis skupinových metód je uvedený nižšie
Nie | Metóda | Popis |
---|---|---|
1 | Skupina reťazcov () | Vráti zhodnú sekvenciu zachytenú predchádzajúcou zhodou ako reťazec. |
2 | Skupina reťazcov (int group) | Vráti zhodnú sekvenciu zachytenú danou skupinou počas predchádzajúcej operácie zhody ako reťazec. |
3 | Skupina reťazcov (názov reťazca) | Vráti zhodnú sekvenciu zachytenú danou pomenovanou skupinou počas predchádzajúcej operácie zhody alebo hodnotu null, ak zhoda zlyhá. |
Určené používateľom
Skupina v rozhraní MatchResult
Návraty
(pravdepodobne prázdna) podsekvencia zhodná s predchádzajúcou zhodou vo forme reťazca
hádže
IllegalStateException - Ak ešte nedošlo k pokusu o zhodu, alebo ak predchádzajúca operácia zhody zlyhala.
Príklad 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()); } }Vyskúšajte to
Výkon:
Start :1, End : 4, Group abb Start :4, End : 7, Group abb Start :7, End : 10,Group abb
Príklad 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); } }Vyskúšajte to
Výkon:
Group 0 is Group 1 s My name is Khan and m not a terrerist.
Príklad 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')); } } } }Vyskúšajte to
Výkon:
Hello world