Estou tentando criar um script para executar a pesquisa difusa dentro de um buffer. A idéia principal é pegar alguma entrada e inserir .\{-}entre cada par de caracteres, por exemplo, footorna-se f.\{-}o.\{-}o.
Isso funciona bastante bem, mas gera muitas correspondências não ideais. Acho que uma pesquisa difusa deve produzir as correspondências mais curtas primeiro. Considere o seguinte exemplo:
public void put()
Fazer uma pesquisa difusa por put(então, p.\{-}u.\{-}t) corresponderá a toda a cadeia public void put, mas a menor putdentro dessa correspondência seria mais útil.
O operador não ganancioso é bom em encontrar correspondências que terminam mais cedo, mas eu preciso de algo que possa, ao mesmo tempo, preferir correspondências que começam mais tarde. Conceitualmente, não deve ser ganancioso nas duas direções. Isso é possível?