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

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

java.util.regex.Matcher lớp đạ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.

Trong trường hợp khớp, requestEnd () phương thức của lớp này (Matcher) xác minh xem có khả năng kết quả đối sánh là sai hay không, trong trường hợp có nhiều đầu vào hơn, nếu có, phương thức này trả về true nếu không, phương thức này trả về false.

Ví dụ:Nếu bạn đang cố gắng đối sánh từ cuối cùng của chuỗi nhập với bạn bằng cách sử dụng regex “bạn $” và nếu dòng nhập đầu tiên của bạn là “xin chào, bạn khỏe không”, bạn có thể có một kết quả khớp nhưng nếu bạn chấp nhận nhiều câu hơn từ cuối cùng của (các) dòng mới có thể không phải là từ bắt buộc (là “bạn”), làm cho kết quả đối sánh của bạn sai. Trong những trường hợp như vậy, phương thức RequiredEnd () trả về true.

Tương tự, nếu bạn đang cố gắng khớp một ký tự cụ thể trong đầu vào, hãy nói # và nếu dòng nhập đầu tiên của bạn là "Xin chào # bạn khỏe không", bạn sẽ có một kết quả khớp và, nhiều dữ liệu đầu vào hơn có thể thay đổi nội dung của trình khớp nhưng không không thay đổi kết quả đúng. Trong trường hợp như vậy, phương thức RequiredEnd () trả về false.

Ví dụ 1

 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RequiredEndExample {public static void main (String args []) {String regex ="you $"; // Đọc đầu vào từ người dùng Scanner sc =new Scanner (System.in); System.out.println ("Nhập văn bản đầu vào:"); Chuỗi đầu vào =sc.nextLine (); // Khởi tạo lớp Pattern Mẫu pattern =Pattern.compile (regex); // Khởi tạo lớp Matcher Matcher matcher =pattern.matcher (input); // xác minh xem có trùng khớp hay không if (matcher.find ()) {System.out.println ("Đã tìm thấy khớp"); } boolean result =matcher.requireEnd (); if (result) {System.out.println ("Nhiều đầu vào hơn có thể biến kết quả của kết quả trùng khớp thành sai"); } else {System.out.println ("Kết quả của trận đấu sẽ là true, mặc dù có nhiều dữ liệu hơn"); }}} 

Đầu ra

 Nhập văn bản đầu vào:Xin chào bạn khỏe không 

Ví dụ 2

 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RequiredEndExample {public static void main (String args []) {String regex ="[#] "; // Đọc đầu vào từ người dùng Scanner sc =new Scanner (System.in); System.out.println ("Nhập văn bản đầu vào:"); Chuỗi đầu vào =sc.nextLine (); // Khởi tạo lớp Pattern Mẫu pattern =Pattern.compile (regex); // Khởi tạo lớp Matcher Matcher matcher =pattern.matcher (input); // xác minh xem có trùng khớp hay không if (matcher.find ()) {System.out.println ("Đã tìm thấy khớp"); } boolean result =matcher.requireEnd (); if (result) {System.out.println ("Nhiều đầu vào hơn có thể biến kết quả của kết quả trùng khớp thành sai"); } else {System.out.println ("Kết quả của trận đấu sẽ là true, mặc dù có nhiều dữ liệu hơn"); }}} 

Đầu ra

 Nhập văn bản đầu vào:Xin chào # how # are you