java.util.regex.Matcher.end() Method


Advertisements

Description

The java.time.Matcher.end(int group) method returns the offset after the last character of the subsequence captured by the given group during the previous match operation.

Declaration

Following is the declaration for java.time.Matcher.end(int group) method.

public int end(int group)

Parameters

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

Return Value

The offset after the last character captured by the group, or -1 if the match was successful but the group itself did not match anything.

Exceptions

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

Example

The following example shows the usage of java.time.Matcher.end(int 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);
      
      while(matcher.find()) {
         //Prints the offset after the last character matched.
         System.out.println("Second Capturing Group, (foo) Match String end(): "+matcher.end(1));
      }      
   }
}

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

Second Capturing Group, (foo) Match String end(): 3
Second Capturing Group, (foo) Match String end(): 9
Second Capturing Group, (foo) Match String end(): 14
javaregex_matcher.htm
Advertisements