Gruppemetoden returnerer den matchede inputsekvens fanget af den forrige match i form af strengen. Denne metode returnerer den tomme streng, når mønsteret matcher den tomme streng i inputtet.
Underskrift
Der er 3 typer gruppemetoder i java. Signaturen for gruppemetoder er angivet nedenfor
Ingen. | Metode | Beskrivelse |
---|---|---|
1 | Strenggruppe() | Returnerer den matchede sekvens fanget af det forrige match som strengen. |
2 | Strenggruppe (int group) | Returnerer den matchede sekvens fanget af den givne gruppe under den forrige matchoperation som strengen. |
3 | Strenggruppe (strengnavn) | Returnerer den matchede sekvens fanget af den givne navngivne gruppe under den forrige matchoperation eller null, hvis matchningen mislykkes. |
Specificeret af
Gruppen i interface MatchResult
Vender tilbage
Den (muligvis tomme) undersekvens matchet af det forrige match, i strengform
Kaster
IllegalStateException - Hvis der endnu ikke er forsøgt et match, eller hvis den tidligere matchoperation mislykkedes.
Eksempel 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()); } }Test det nu
Produktion:
Start :1, End : 4, Group abb Start :4, End : 7, Group abb Start :7, End : 10,Group abb
Eksempel 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); } }Test det nu
Produktion:
Group 0 is Group 1 s My name is Khan and m not a terrerist.
Eksempel 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')); } } } }Test det nu
Produktion:
Hello world