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

Metodo groupCount() di Matcher in Java con esempio

La classe java.util.regex.Matcher rappresenta il motore di esecuzione di vari operazioni di abbinamento. Questa classe non ha un costruttore, può essere utilizzatamatches()Il metodo della classe java.util.regex.Pattern per creare/ottenere un oggetto di questa classe.

Questa classe (Matcher)groupCount()Il metodo calcola il numero di gruppi di cattura corrente della corrispondenza.

Esempio 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.";
      //Creazione di un oggetto modello
      Pattern pattern = Pattern.compile(regex);
      //Abbinamento della stringa con il modello già compilato
      Matcher matcher = pattern.matcher(input);
      if(matcher.find()) {
         System.out.println("Corrispondenza del primo gruppo: " + matcher.group(1));
         System.out.println("Corrispondenza del secondo gruppo: " + matcher.group(2));
         System.out.println("Corrispondenza del terzo gruppo: " + matcher.group(3));
         System.out.println("Numero di gruppi catturati: " + matcher.groupCount());
      }
   }
}

Risultato di output

Corrispondenza del primo gruppo: This is a sample Text, 123
Corrispondenza del secondo gruppo: 4
Corrispondenza del terzo gruppo: , con numeri tra di loro.
Numero di gruppi: 3

Esempio 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>.";
      //Abbinamento con espressione regolare del contenuto dei tag in grassetto
      String regex = "(t(\S+)t)(\s)";
      String str = "the words tit tat tweet tostff tact that tilt text start and end wit the letter t";
      //Creazione di un oggetto modello
      Pattern pattern = Pattern.compile(regex);
      //Abbinamento della stringa con il modello già compilato
      Matcher matcher = pattern.matcher(str);
      while (matcher.find()) {
         System.out.println(matcher.group(0));
      }
      System.out.println("Totali gruppi di cattura: " + matcher.groupCount());
   }
}

Risultato di output

tit
tat
tweet
tact
that
tilt
text
tart
Totali gruppi di cattura: 3