Как лучше всего сравнивать шаблон с набором строк, одну за другой, при этом оценивая количество совпадений шаблона с каждой строкой? По моему ограниченному опыту работы с регулярными выражениями, сопоставление строк с шаблонами с использованием регулярных выражений кажется довольно двоичной операцией ... независимо от того, насколько сложен шаблон, в конце концов он либо совпадает, либо нет. Я ищу более широкие возможности, помимо простого сопоставления. Есть ли хороший метод или алгоритм, который относится к этому?
Вот пример:
Допустим, у меня есть шаблон foo bar
, и я хочу найти строку, которая наиболее точно соответствует ему из следующих строк:
foo for
foo bax
foo buo
fxx bar
Теперь ни одно из них на самом деле не соответствует шаблону, но какое несоответствие наиболее близко к совпадению? В этом случае foo bax
будет лучшим выбором, так как он соответствует 6 из 7 символов.
Извиняюсь, если это дублирующийся вопрос, я действительно не знал, что именно искать, когда смотрел, существует ли этот вопрос.