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

Método groupCount() do Matcher no Java com exemplo

A classe java.util.regex.Matcher representa o motor de operações de match. Esta classe não possui construtor, pode usarmatches()Método da classe java.util.regex.Pattern para criar/Obter um objeto deste tipo.

Este (Matcher) classegroupCount()Método para calcular o número de grupos capturados no item de match atual.

exemplo1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GroupTest {
   public static void main(String[] args) {
      String regex = "(.*)\\d+)\.;*
      String input = "Este é um Texto de exemplo, 1234, com números entre.";
      //Criação de um objeto de padrão
      Pattern pattern = Pattern.compile(regex);
      //Coincidência de padrão pré-compilado na string
      Matcher matcher = pattern.matcher(input);
      if(matcher.find()) {
         System.out.println("Primeiro grupo de match: "+matcher.group(1));
         System.out.println("Segundo grupo de match: "+matcher.group(2));
         System.out.println("Terceiro grupo de match: "+matcher.group(3));
         System.out.println("Número de grupos capturados: "+matcher.groupCount());
      }
   }
}

saída resultante

Primeiro grupo de match: Este é um Texto de exemplo, 123
Segundo grupo de match: 4
Terceiro grupo de match: , com números entre.
Número de grupos: 3

exemplo2

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
   public static void main(String[] args) {
      String str1 = "<p>Este <b>é</b> um <b>exemplo</b>HTML <b>script</b>onde<b>quer/b>palavra<b>alternativa<b>/b>é<b>negrito<b>/b></p>.";
      //Coincidência de expressão regular com o conteúdo da tag bold
      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 ";
      //Criação de um objeto de padrão
      Pattern pattern = Pattern.compile(regex);
      //Coincidência de padrão pré-compilado na string
      Matcher matcher = pattern.matcher(str);
      while (matcher.find()) {
         System.out.println(matcher.group(0));
      }
      System.out.println("Total de grupos capturados: ");+matcher.groupCount());
   }
}

saída resultante

tit
tat
tweet
tact
that
tilt
text
tart
Total de grupos capturados: 3