So kennzeichnen Sie eine gestreifte Zeichenfolge anhand einer Liste von Mustern

Ausgehend von einer Zeichenkette S und einer Liste L von Mustern [L1, ..., Ln], wie würden Sie die Liste aller Token in S finden, die mit einem Muster in L übereinstimmen, und damit die Gesamtzahl der übereinstimmenden Buchstaben in S maximiert wird?

Ein Dummy-Beispiel wäre S = "thenuke", L = {"the", "then", "nuke"} und wir möchten ["the", "nuke"] abrufen, als würden wir mit "then" beginnen. erhalten wir nicht die Lösung, die die Gesamtzahl der Buchstaben in S maximiert, die übereinstimmen.

Ich habe andere SO-Fragen angeschaut,String-Matching-Algorithmen aber nichts gefunden, um den Maximierungsteil des Problems effizient zu lösen. Dies muss untersucht worden sein, z.B. in bioinformatik bin ich aber nicht auf dem gebiet also jede hilfe (einschliesslich link zu akademischen arbeiten) zutiefst dankbar!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage