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

Phương thức Matcher hitEnd () 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.

hitEnd () phương thức xác minh xem kết thúc của dữ liệu đầu vào có đạt được trong lần so khớp trước đó hay không, nếu có, nó trả về true else false. Nếu phương thức này trả về true, nó chỉ ra rằng nhiều dữ liệu đầu vào hơn có thể thay đổi kết quả của đối sánh.

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ả phù hợ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 hitEnd () trả về true.

Ví dụ

 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class HitEndExample {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.hitEnd (); 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