Metoda skupiny vrací odpovídající vstupní sekvenci zachycenou předchozí shodou ve formě řetězce. Tato metoda vrátí prázdný řetězec, když vzor úspěšně odpovídá prázdnému řetězci na vstupu.
Podpis
V Javě existují 3 typy skupinových metod. Podpisy skupinových metod jsou uvedeny níže
Ne. | Metoda | Popis |
---|---|---|
1 | Skupina řetězců() | Vrátí shodující se sekvenci zachycenou předchozí shodou jako řetězec. |
2 | Skupina řetězců (int group) | Vrátí shodující se sekvenci zachycenou danou skupinou během předchozí operace shody jako řetězec. |
3 | Skupina řetězců (název řetězce) | Vrátí shodující se sekvenci zachycenou danou pojmenovanou skupinou během předchozí operace shody nebo hodnotu null, pokud se shoda nezdaří. |
Určeno uživatelem
Skupina v rozhraní MatchResult
Návraty
(případně prázdná) podsekvence odpovídající předchozí shodě ve formě řetězce
hází
IllegalStateException - Pokud ještě nedošlo k žádnému pokusu o shodu nebo pokud se předchozí operace shody nezdařila.
Pří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()); } }Otestujte to hned
Výstup:
Start :1, End : 4, Group abb Start :4, End : 7, Group abb Start :7, End : 10,Group abb
Pří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); } }Otestujte to hned
Výstup:
Group 0 is Group 1 s My name is Khan and m not a terrerist.
Pří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')); } } } }Otestujte to hned
Výstup:
Hello world