Matcher lookingAt() 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 lookingAt() method of the Matcher class matches the given input text with the pattern, starting from the beginning of the region. In case of a match, this method returns true, else, false. Unlike the matches() method this method doesn’t require a match in the entire region to return true.

Example 1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
   public static void main(String[] args) {
      String regex = "(.*)(\d+)(.*)";
      String input = "This is a sample Text, 1234, with numbers in between. "
         + "\n This is the second line in the text "
         + "\n This is third line in the text";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Creating a Matcher object
      Matcher matcher = pattern.matcher(input);
      //checking for the match
      if(matcher.lookingAt()) {
         System.out.println("Match found");
      } else {
         System.out.println("Match not found");
      }
   }
}

Output

Match found

Example 2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class LookingAtExample {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter String1: ");
      String input1 = sc.nextLine();
      System.out.println("Enter String2: ");
      String input2 = sc.nextLine();
      System.out.println("Enter String3: ");
      String input3 = sc.nextLine();
      String input = input1+"\n"+input2+"\n"+input3;
      System.out.println(input);
      //Regular expression to match a word that contain digits
      String regex = ".*\d+.*";
      //Compiling the regular expression
      Pattern pattern = Pattern.compile(regex);
      //Retrieving the matcher object
      Matcher matcher = pattern.matcher(input);
      //verifying whether match occurred
      boolean bool = matcher.lookingAt();
      if(bool) {
         System.out.println("Given input contains digit");
      } else {
         System.out.println("Given input does not contain any digit");
      }
   }
}

Output

Enter String1:
sample text2
Enter String2:
data
Enter String3:
sample
sample text2
data
sample
Given input contains digit

Updated on: 20-Nov-2019

47 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements