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

Méthode groupCount() de Matcher en Java et exemple

java.util.regex.Matcher représente le moteur d'exécution de diverses opérations de correspondance. Cette classe n'a pas de constructeur, et elle peut être utiliséematches()la méthode de la classe java.util.regex.Pattern pour créer/obtenir un objet de cette classe.

de cette classe (Matcher)groupCount()méthode pour calculer le nombre de groupes capturés dans l'élément de correspondance actuel.

exemple1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GroupTest {
   public static void main(String[] args) {
      String regex = "(.*)\\d+)\. ;*
      String input = "Ceci est un échantillon de texte, 1234, avec des nombres entre eux.";
      //Créer un objet modèle
      Pattern pattern = Pattern.compile(regex);
      //Matcher une chaîne de caractères avec un modèle compilé
      Matcher matcher = pattern.matcher(input);
      if(matcher.find()) {
         System.out.println("Premier groupe correspondant: "+matcher.group(1)) ;
         System.out.println("Deuxième groupe correspondant: "+matcher.group(2)) ;
         System.out.println("Troisième groupe correspondant: "+matcher.group(3)) ;
         System.out.println("Nombre de groupes capturés: "+matcher.groupCount());
      }
   }
}

Résultat de la sortie

Premier groupe correspondant : Ceci est un échantillon de texte, 123
Deuxième groupe correspondant : 4
Troisième groupe correspondant : , avec des nombres entre eux.
Nombre de groupes : 3

exemple2

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
   public static void main(String[] args) {
      String str1 = "<p>Ce <b>est</b> un <b>exemple</b>HTML <b>script</b> où que ce soit <b>que</b>/b> mot <b>alternative</b>/b> est <b>gras</b>/b></p>.";
      //Correspondance des expressions régulières avec le contenu des balises en gras
      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 ";
      //Créer un objet modèle
      Pattern pattern = Pattern.compile(regex);
      //Matcher une chaîne de caractères avec un modèle compilé
      Matcher matcher = pattern.matcher(str);
      while (matcher.find()) {
         System.out.println(matcher.group(0));
      }
      System.out.println("Total des groupes capturants :");+matcher.groupCount());
   }
}

Résultat de la sortie

tit
tat
tweet
tact
that
tilt
text
tart
Total des groupes capturants : 3