The group) method returns the input subsequence captured by the given group during the previous match operation.


Following is the declaration for group) method.

public String group(int group)


  • group − The index of a capturing group in this matcher's pattern.

Return Value

The (possibly empty) subsequence captured by the group during the previous match, or null if the group failed to match part of the input.

  • IllegalStateException − If no match has yet been attempted, or if the previous match operation failed.

  • IndexOutOfBoundsException − If there is no capturing group in the pattern with the given index.


The following example shows the usage of group) method.

package com.tutorialspoint;

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

public class MatcherDemo {
   private static String REGEX = "(a*b)(foo)";
   private static String INPUT = "aabfooaabfooabfoob";
   private static String REPLACE = "-";
   public static void main(String[] args) {
      Pattern pattern = Pattern.compile(REGEX);
      // get a matcher object
      Matcher matcher = pattern.matcher(INPUT);
      if(matcher.find()) {
         //Prints the offset after the last character matched.
         System.out.println("Second Capturing Group : ";

Let us compile and run the above program, this will produce the following result −

Second Capturing Group : aab