Counting the number of groups Java regular expression


You can treat multiple characters as a single unit by capturing them as groups. You just need to place these characters inside a set of parentheses.

You can count the number of groups in the current match using the groupCount() method of the Matcher class. This method calculates the number of capturing groups in the current match and returns it.

Example

 Live Demo

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>.";
      //Regular expression to match contents of the bold tags
      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    ";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Matching the compiled pattern in the String
      Matcher matcher = pattern.matcher(str);
      while (matcher.find()) {
         System.out.println(matcher.group(0));
      }
      System.out.println("Total capturing groups: "+matcher.groupCount());
   }
}

Output

tit
tat
tweet
tact
that
tilt
text
tart
Total capturing groups: 3
raja
Published on 13-Jan-2020 05:57:51
Advertisements