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 regionStart() method of this (Matcher) class returns an integer value representing the start index of the current matcher object.
Example 1
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegionStartExample { 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("Starting of the region: "+ matcher.regionStart()); } }
Output
Enter a string: #sample text Match not found Starting of the region: 2
Example 2
import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegionStartExample { public static void main(String[] args) { String regex = "(.*)(\\d+)(.*)"; String input = "124 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("Start of the region: "+matcher.regionStart()); } }
Output
Match not found Start of the region: 5