Оценка качества совпадений строк

Каким будет лучший способ сравнить образец с набором строк, одну за другой, в то время как оценивает количество, с которым образец соответствует каждой строке ? В моем ограниченном опыте работы с регулярными выражениями сопоставление строк с шаблонами с использованием регулярных выражений кажется довольно бинарной операцией ... независимо от того, насколько сложен шаблон, в конце концов, он либо совпадает, либо нет. Я ищу более широкие возможности, помимо сопоставления. Есть ли хороший метод или алгоритм, относящийся к этому?

Вот пример:

Допустим, у меня есть шаблон foo bar , и я хочу найти строку, наиболее точно соответствующую ему из следующие строки:

foo for
foo bax
foo buo
fxx bar

Теперь, ни одно из них на самом деле не соответствует шаблону, но какое несоответствие ближе всего к совпадению? В этом случае лучшим выбором будет foo bax , так как он соответствует 6 из 7 символов.

Извините, если это повторяющийся вопрос, я действительно не знал, что именно искать когда я посмотрел, существует ли уже этот вопрос.

11
задан 5 November 2010 в 19:28
поделиться