Я пытаюсь создать скрипт для выполнения нечеткого поиска внутри буфера. Основная идея состоит в том, чтобы взять некоторый ввод и вставить .\{-}между каждой парой символов, например, fooстановится f.\{-}o.\{-}o.
Это работает довольно хорошо, но дает много неидеальных совпадений. Я думаю, что нечеткий поиск должен сначала дать самые короткие совпадения. Рассмотрим следующий пример:
public void put()
Выполнение нечеткого поиска put(так, p.\{-}u.\{-}t) сопоставит всю строку public void put, но более короткое putв этом сопоставлении будет более полезным.
Нежадный оператор хорош для поиска совпадений, которые заканчиваются раньше, но мне нужно что-то, что может в то же время предпочесть совпадения, которые начинаются позже. Концептуально, он не должен быть жадным в обоих направлениях. Это возможно?