Capturing Text in a Group in a Regular Expression - Java Regular Expressions

Java examples for Regular Expressions:Pattern

Description

Capturing Text in a 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[] argv) throws Exception {
    CharSequence inputStr = "abbabcd";
    String patternStr = "(a(b*))+(c*)";

    // 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);
      }/*from   ww w.  j a  va 2 s .c o  m*/
    }
  }
}

input:   abbc
pattern: a(b*)c
pattern: (a(b*))+(c*)
group 1: (a(b*))
group 2: (b*)
group 3: (c*)
input:   aba
pattern: (a(b)*)+
group 0: aba
group 1: a
group 2: b

Related Tutorials