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

Làm thế nào để sử dụng biểu thức chính quy trong Java để đối sánh mẫu?

Biểu thức chính quy là một chuỗi ký tự xác định / tạo thành một mẫu để tìm kiếm văn bản đầu vào. Một biểu thức chính quy có thể chứa một hoặc nhiều ký tự, bằng cách sử dụng một biểu thức chính quy, bạn có thể tìm kiếm hoặc thay thế một chuỗi.

Java cung cấp gói java.util.regex để đối sánh mẫu với biểu thức chính quy. Mẫu lớp của gói này là một đại diện đã biên dịch của một biểu thức chính quy. Để đối sánh một biểu thức chính quy với một Chuỗi, lớp này cung cấp hai phương thức cụ thể là -

  • biên dịch (): Phương thức này chấp nhận một Chuỗi đại diện cho một biểu thức chính quy và trả về một đối tượng của đối tượng Mẫu.
  • trình đối sánh (): Phương thức này chấp nhận một giá trị Chuỗi và tạo một đối tượng đối sánh khớp với Chuỗi đã cho với mẫu được đại diện bởi đối tượng mẫu hiện tại.

Ví dụ

Chương trình Java sau đây chấp nhận một chuỗi từ người dùng, xác minh xem nó có chứa bảng chữ cái hay không (cả hai trường hợp), Nó cũng chấp nhận các chữ số.

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
   public static void main( String args[] ) {
      String regex = "[a-zA-Z][0-9]?";
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter an input string: ");
      String input = sc.nextLine();
     
      //Creating a Pattern object
      Pattern p = Pattern.compile(regex);
      //Creating a Matcher object
      Matcher m = p.matcher(input);  
      if(m.find()) {
         System.out.println("Match occurred");
      }else {
         System.out.println("Match not occurred");
      }
   }
}

Đầu ra 1

Enter an input string:
sample text
Match occurred

Đầu ra 2

Enter an input string:
sample text 34 56
Match occurred