Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Matcher end(int) method in Java with Examples

  • Difficulty Level : Expert
  • Last Updated : 26 Nov, 2018

The end(int group) method of Matcher Class is used to get the offset after the end index of the match result already done, from the specified group.

Syntax:

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

public int end(int group)

Parameters: This method takes a parameter group from which the offset after the end index of the matched pattern is required.

Return Value: This method returns the offset after the end index matched from the specified group.



Exception: This method throws:

  • 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 group.

Below examples illustrate the Matcher.end() method:

Example 1:




// Java code to illustrate end() method
  
import java.util.regex.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Get the regex to be checked
        String regex = "(G*s)";
  
        // Create a pattern from regex
        Pattern pattern
            = Pattern.compile(regex);
  
        // Get the String to be matched
        String stringToBeMatched
            = "GeeksForGeeks";
  
        // Create a matcher for the input String
        Matcher matcher
            = pattern
                  .matcher(stringToBeMatched);
  
        // Get the current matcher state
        MatchResult result
            = matcher.toMatchResult();
        System.out.println("Current Matcher: "
                           + result);
  
        while (matcher.find()) {
            // Get the last index of match result
            System.out.println(matcher.end(1));
        }
    }
}
Output:

Current Matcher: java.util.regex.Matcher[pattern=(G*s) region=0,13 lastmatch=]
5
13

Example 2:




// Java code to illustrate end() method
  
import java.util.regex.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Get the regex to be checked
        String regex = "(G*G)";
  
        // Create a pattern from regex
        Pattern pattern
            = Pattern.compile(regex);
  
        // Get the String to be matched
        String stringToBeMatched
            = "GFG FGF GFG";
  
        // Create a matcher for the input String
        Matcher matcher
            = pattern
                  .matcher(stringToBeMatched);
  
        // Get the current matcher state
        MatchResult result
            = matcher.toMatchResult();
        System.out.println("Current Matcher: "
                           + result);
  
        while (matcher.find()) {
            // Get the last index of match result
            System.out.println(matcher.end(0));
        }
    }
}
Output:

Current Matcher: java.util.regex.Matcher[pattern=(G*G) region=0,11 lastmatch=]
1
3
6
9
11

Reference: Oracle Doc




My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!