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 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()); } } } |
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()); } } } |
Current Matcher: java.util.regex.Matcher[pattern=(G*G) region=0,11 lastmatch=]
1
3
6
9
11
Reference: Oracle Doc