Computer >> Máy Tính >  >> Lập trình >> Java

Phương thức Matcher lookAt () trong Java với các ví dụ

Lớp java.util.regex.Matcher đại diện cho một công cụ thực hiện các hoạt động so khớp khác nhau. Không có hàm tạo nào cho lớp này, bạn có thể tạo / lấy một đối tượng của lớp này bằng cách sử dụng phương thức match () của lớp java.util.regex.Pattern.

lookAt () phương pháp của Matcher lớp đối sánh văn bản đầu vào đã cho với mẫu, bắt đầu từ phần đầu của vùng. Trong trường hợp khớp, phương thức này trả về true, else, false. Không giống như phương thức match (), phương thức này không yêu cầu một kết quả phù hợp trong toàn bộ vùng để trả về true.

Ví dụ 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");
      }
   }
}

Đầu ra

Match found

Ví dụ 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");
      }
   }
}

Đầu ra

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