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