Как токенизировать полосатую строку на основе списка шаблонов

Дана строка S и список L шаблонов [L1, ..., Ln], как бы вы нашли список всех токенов в S, совпадающих с шаблоном в L, и чтобы общее количество совпавших букв в S было максимизировано?

Дурацкий пример будет S = "thenuke», L = {"","затем", "ядерное оружие»} и мы хотели бы получить ["","ядерное оружие»] как будто мы начинаем с сопоставлениязатем"мы не получаем решение, максимизирующее общее количество сопоставляемых букв в S.

Я смотрел на другие вопросы, такалгоритмы сопоставления строк но ничего не нашел, чтобы эффективно решить максимизацию части проблемы. Это должно быть изучено, например, в биоинформатике, но яЯ не в поле, поэтому любая помощь (в том числе ссылки на научные статьи) высоко ценится!

Ответы на вопрос(2)

Ваш ответ на вопрос