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

Java examples for Regular Expressions:Pattern

Description

Using a Non-Capturing Group in a Regular Expression

Demo Code

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

public class Main {
  public static void main(String[] args) throws Exception {
    String inputStr = "abbabcd";
    String patternStr = "(a(?:b*))+(c*)";
    // (?:b*) is a non-capturing group

    // Compile and use regular expression
    Pattern pattern = Pattern.compile(patternStr);
    Matcher matcher = pattern.matcher(inputStr);
    boolean matchFound = matcher.find();

    if (matchFound) {
      // Get all groups for this match
      for (int i = 0; i <= matcher.groupCount(); i++) {
        String groupStr = matcher.group(i);
      }//ww w .  j ava 2s .com
      // group 0: abbabc
      // group 1: ab
      // group 2: c
    }
  }
}

Related Tutorials