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