Estoy tratando de crear un script para realizar búsquedas difusas dentro de un búfer. La idea principal es tomar algo de entrada e insertar .\{-}
entre cada par de caracteres, por ejemplo, se foo
convierte f.\{-}o.\{-}o
.
Esto funciona bastante bien, pero genera muchas coincidencias no ideales. Creo que una búsqueda difusa debería producir primero las coincidencias más cortas. Considere el siguiente ejemplo:
public void put()
Hacer una búsqueda difusa para put
(entonces p.\{-}u.\{-}t
) coincidirá con la cadena completa public void put
, pero el más corto put
dentro de esa coincidencia sería más útil.
El operador no codicioso es bueno para encontrar coincidencias que terminen antes, pero necesito algo que pueda, al mismo tiempo, preferir coincidencias que comiencen más tarde. Conceptualmente, no debe ser codicioso en ambas direcciones. es posible?