Груповият метод връща съответстващата входна последователност, уловена от предишното съвпадение под формата на низ. Този метод връща празния низ, когато шаблонът успешно съответства на празния низ във входа.
Подпис
В java има 3 вида групови методи. Подписът на груповите методи е даден по-долу
Не. | Метод | Описание |
---|---|---|
1 | Група низове () | Връща съответстващата последователност, уловена от предишното съвпадение като низ. |
2 | Група низове (група int) | Връща съответстващата последователност, уловена от дадената група по време на предишната операция за съвпадение като низ. |
3 | Група низове (име на низ) | Връща съответстващата последователност, уловена от дадената наименувана група по време на предишната операция за съвпадение, или нула, ако съвпадението е неуспешно. |
Уточнено от
Групата в интерфейса 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