java match regex after index code example

Example: java regex matches get index

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

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

    CharSequence inputStr = "abbabcd";
    String patternStr = "(a(b*))+(c*)";

    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++) {
        // Get the group's captured text
        String groupStr = matcher.group(i);

        // Get the group's indices
        int groupStart = matcher.start(i);
        int groupEnd = matcher.end(i);

        // groupStr is equivalent to
        inputStr.subSequence(groupStart, groupEnd);
      }
    }
  }
}

Tags:

Java Example