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

Phương thức biên dịch mẫu () trong Java với các ví dụ

Lớp mẫu của java.regex gói là một đại diện đã biên dịch của một biểu thức chính quy.

Biên dịch () phương thức của lớp này chấp nhận một giá trị chuỗi đại diện cho một biểu thức chính quy và trả về một đối tượng Mẫu.

Ví dụ

 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class CompileExample {public static void main (String args []) {// Đọc giá trị chuỗi Máy quét sc =new Scanner (System.in); System.out.println ("Nhập chuỗi đầu vào"); Chuỗi đầu vào =sc.nextLine (); // Biểu thức chính quy để tìm chữ số String regex ="(\\ d)"; // Biên dịch biểu thức chính quy Mẫu pattern =Pattern.compile (regex); // In biểu thức chính quy System.out.println ("Biểu thức chính quy đã biên dịch:" + pattern.toString ()); // Truy xuất đối tượng matcher Matcher matcher =pattern.matcher (input); // xác minh xem có trùng khớp hay không if (matcher.find ()) {System.out.println ("Chuỗi cho trước chứa các chữ số"); } else {System.out.println ("Chuỗi cho trước không chứa chữ số"); }}} 

Đầu ra

 Nhập chuỗi đầu vào. 

Một biến thể khác của phương thức này chấp nhận một giá trị số nguyên đại diện cho các cờ, trong đó mỗi cờ chỉ định một điều kiện tùy chọn, ví dụ:CASE_INSENSITIVE bỏ qua trường hợp này trong khi biên dịch 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 CompileExample {public static void main (String args []) {// Biên dịch mẫu biểu thức chính quy pattern =Pattern.compile ("[t]", Pattern.CASE_INSENSITIVE); // Truy xuất đối tượng so khớp Matcher matcher =pattern.matcher ("Tutorialspoint"); int count =0; while (matcher.find ()) {count ++; } System.out.println ("Số trận đấu:" + count); }} 

Đầu ra

 Nhập chuỗi đầu vàoTutorialspointSố kết quả phù hợp:3