Computer >> Computer tutorials >  >> Programming >> Java

Matcher regionStart() method in Java with Examples


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