Saya mencoba membuat skrip untuk melakukan pencarian fuzzy di dalam buffer. Gagasan utamanya adalah mengambil beberapa input, dan menyisipkan di .\{-}
antara setiap pasangan karakter, misalnya foo
menjadi f.\{-}o.\{-}o
.
Ini bekerja cukup baik, tetapi muncul dengan banyak pertandingan yang tidak ideal. Saya pikir pencarian fuzzy harus menghasilkan kecocokan terpendek terlebih dahulu. Perhatikan contoh berikut:
public void put()
Melakukan pencarian fuzzy untuk put
(jadi, p.\{-}u.\{-}t
) akan cocok dengan seluruh string public void put
, tetapi lebih pendek put
dalam pertandingan itu akan lebih berguna.
Operator yang tidak rakus itu pandai menemukan kecocokan yang berakhir lebih awal, tetapi saya perlu sesuatu yang, pada saat yang sama, lebih suka kecocokan yang dimulai nanti. Secara konseptual, itu harus tidak rakus di kedua arah. Apakah ini mungkin?