Using a Non-Capturing Group in a Regular Expression : Group « Regular Expressions « Java






Using a Non-Capturing Group in a Regular Expression


import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
  public static void main(String[] argv) throws Exception {

    String inputStr = "abbabcd";
    String patternStr = "(a(?:b*))+(c*)";
    // (?:b*) is a non-capturing group

    Pattern pattern = Pattern.compile(patternStr);
    Matcher matcher = pattern.matcher(inputStr);
    boolean matchFound = matcher.find();

    if (matchFound) {
      for (int i = 0; i <= matcher.groupCount(); i++) {
        String groupStr = matcher.group(i);
      }
    }
  }
}

 








Related examples in the same category

1.find the starting point of the first subgroup
2.Find the starting point of the second subgroup
3.Matcher.group(int) Method Example
4.Find group number 1 of the second find
5.Matcher Group Count
6.Using appendReplacement with Subgroup Replacements
7.Working with Groups: characters and digits
8.Working with Subgroups
9.Capturing Text in a Group in a Regular Expression
10.Getting the Indices of a Matching Group in a Regular Expression
11.Using the Captured Text of a Group within a Pattern
12.Using the Captured Text of a Group within a Replacement Pattern