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

Cách khớp các ký tự meta regex trong java dưới dạng ký tự chữ.

Phương thức biên dịch của lớp mẫu chấp nhận hai tham số -

  • Giá trị chuỗi đại diện cho biểu thức chính quy.
  • Một giá trị số nguyên cho một trường của lớp Mẫu.

LITERAL được đệ trình của hàm cho phép phân tích cú pháp theo nghĩa đen của mẫu. tức là tất cả các siêu ký tự biểu thức chính quy và chuỗi thoát không có bất kỳ ý nghĩa đặc biệt nào, chúng được coi là ký tự chữ. Do đó, nếu bạn cần đối sánh các ký tự siêu biểu thức chính quy dưới dạng ký tự bình thường, bạn cần chuyển giá trị này dưới dạng giá trị cờ cho phương thức compile () cùng với biểu thức chính quy.

Ví dụ

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   public static void main(String[] args) {
      System.out.println("Enter input data: ");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      String regex = "^[0-9]";
      //Creating a Pattern object
      Pattern pattern = Pattern.compile(regex, Pattern.LITERAL);
      //Creating a Matcher object
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
         System.out.println(matcher.group());
      }
      System.out.println("Number of matches: "+count);
   }
}

Đầu ra 1

Enter input data:
9848022338
Number of matches: 0

Đầu ra 2

Enter input data:
^[0-9]
^[0-9]
Number of matches: 1