Ich versuche, ein Skript für die Fuzzy-Suche in einem Puffer zu erstellen. Die Hauptidee ist eine Eingabe zu nehmen, und fügen Sie .\{-}
zwischen jedem Paar von Zeichen, zB foo
wird f.\{-}o.\{-}o
.
Dies funktioniert ziemlich gut, führt jedoch zu vielen nicht idealen Übereinstimmungen. Ich denke, eine Fuzzy-Suche sollte zuerst die kürzesten Übereinstimmungen ergeben. Betrachten Sie das folgende Beispiel:
public void put()
Wenn Sie eine Fuzzy-Suche nach put
(so, p.\{-}u.\{-}t
) durchführen, stimmt dies mit der gesamten Zeichenfolge überein public void put
, aber die kürzere put
innerhalb dieser Übereinstimmung wäre nützlicher.
Die nicht-gierigen Betreiber sind gut bei den Spielen , dass die Suche nach Ende früher, aber ich brauche etwas, das, zur gleichen Zeit, Streichhölzer , die es vorziehen , beginnen später. Konzeptionell sollte es in beide Richtungen nicht gierig sein. Ist das möglich?