English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Метод groupCount() Matcher в Java с примерами

Класс java.util.regex.Matcher представляет собой двигатель для выполнения различных операций по соответствию. Этот класс не имеет конструктора, его можно использоватьmatches()Метод класса java.util.regex.Pattern создает/получает объект этого класса.

Этот класс (Matcher)groupCount()Метод вычисляет количество捕获 групп текущего совпадения.

Пример 1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GroupTest {
   public static void main(String[] args) {
      String regex = "(.*)(\\d+)(.*)";
      String input = "This is a sample Text, 1234, with numbers in between.";
      //Создание объекта шаблона
      Pattern pattern = Pattern.compile(regex);
      //Соответствие строки уже скомпилированному шаблону
      Matcher matcher = pattern.matcher(input);
      if(matcher.find()) {
         System.out.println("First group match: " + matcher.group(1));
         System.out.println("Second group match: " + matcher.group(2));
         System.out.println("Third group match: " + matcher.group(3));
         System.out.println("Number of groups capturing: " + matcher.groupCount());
      }
   }
}

результат вывода

Первая группа совпадения: This is a sample Text, 123
Вторая группа совпадения: 4
Третья группа совпадения: , с числами между ними.
Количество групп: 3

Пример 2

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
   public static void main(String[] args) {
      String str1 = "<p>This <b>is</b> an <b>example</b> HTML <b>script</b> where <b>ever</b> alternative <b>word</b> is <b>bold</b></p>.";
      //Соответствие содержимого тегов жирного шрифта с помощью регулярного выражения
      String regex = "(t(\S+)t)(\s)";
      String str = "the words tit tat tweet tostff tact that tilt text start and end with the letter t";
      //Создание объекта шаблона
      Pattern pattern = Pattern.compile(regex);
      //Соответствие строки уже скомпилированному шаблону
      Matcher matcher = pattern.matcher(str);
      while (matcher.find()) {
         System.out.println(matcher.group(0));
      }
      System.out.println("Общее количество уловленных групп: " + matcher.groupCount());
   }
}

результат вывода

tit
tat
tweet
tact
that
tilt
text
tart
Общее количество уловленных групп: 3
Рекомендуется для просмотра