Matcher end() method in Java with Examples

Last Updated : 26 Nov, 2018
The end() method of Matcher Class is used to get the offset after the last character matched of the match result already done. Syntax:
public int end()
Parameters: This method do not takes any parameter. Return Value: This method returns the offset after the last character matched Exception: This method throws IllegalStateException if no match has yet been attempted, or if the previous match operation failed. Below examples illustrate the Matcher.end() method: Example 1: Java
// 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());
        }
    }
}
Output:
Current Matcher: java.util.regex.Matcher[pattern=(G*s) region=0,13 lastmatch=] 5 13
Example 2: Java
// 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());
        }
    }
}
Output:
Current Matcher: java.util.regex.Matcher[pattern=(G*G) region=0,11 lastmatch=] 1 3 6 9 11
Reference: Oracle Doc
Comment