Tôi đang cố gắng tạo một tập lệnh để thực hiện tìm kiếm mờ bên trong bộ đệm. Ý tưởng chính là lấy một số đầu vào và chèn .\{-}
giữa mỗi cặp ký tự, ví dụ như foo
trở thành f.\{-}o.\{-}o
.
Điều này hoạt động khá tốt, nhưng đi kèm với rất nhiều trận đấu không lý tưởng. Tôi nghĩ rằng một tìm kiếm mờ sẽ mang lại kết quả phù hợp ngắn nhất trước tiên. Hãy xem xét ví dụ sau:
public void put()
Thực hiện tìm kiếm mờ cho put
(vì vậy, p.\{-}u.\{-}t
) sẽ khớp với toàn bộ chuỗi public void put
, nhưng ngắn hơn put
trong kết quả khớp đó sẽ hữu ích hơn.
Nhà điều hành không tham lam rất giỏi trong việc tìm kiếm các trận đấu kết thúc sớm hơn, nhưng tôi cần một cái gì đó có thể, đồng thời, thích các trận đấu bắt đầu sau đó. Về mặt khái niệm, nó không nên tham lam theo cả hai hướng. Điều này có thể không?