The java.util.regex.Matcher class represents an engine that performs various match operations. There is no constructor for this class, you can create/obtain an object of this class using the matches() method of the class java.util.regex.Pattern.
The regionEnd() method of this (Matcher) class returns an integer value representing the end index of the current matcher object.
Example 1
import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegionEndExample { public static void main(String[] args) { String regex = "(.*)(\\d+)(.*)"; String input = "This is a sample Text, 1234, with numbers in between."; //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Creating a Matcher object Matcher matcher = pattern.matcher(input); //Setting the region of the matcher matcher.region(5, 20); if(matcher.matches()) { System.out.println("Match found"); } else { System.out.println("Match not found"); } System.out.print("End of the region: "+matcher.regionEnd()); } }
Output
Match not found End of the region: 20
Example 2
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegionEndExample { public static void main(String[] args) { //Regular expression to accepts 6 to 10 characters String regex = "[#]"; System.out.println("Enter a string: "); Scanner sc = new Scanner(System.in); String input = sc.nextLine(); //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Creating a Matcher object Matcher matcher = pattern.matcher(input); //Setting region to the input string matcher.region(2, 4); //Switching to transparent bounds if(matcher.find()) { System.out.println("Match found"); } else { System.out.println("Match not found"); } System.out.println("Ending of the region: "+ matcher.regionEnd()); } }
Output
Enter a string: this is sample text # Match not found Ending of the region: 4