Я использую функцию "нечеткого соответствия" модуля Regex.
Как я могу получить «значение нечеткости» «совпадения», которое указывает, насколько шаблон отличается от строки, точно так же, как «расстояние редактирования» в Левенштейне?
Я думал, что смогу получить значение в объекте Match, но его там нет. В официальных документах об этом тоже ничего не сказано.
e.g.:
regex.match('(?:foo){e}','for')
a.captures()
говорит мне, что слово "для" соответствует, но я хотел бы знать значение размытости, которое должно быть 1
в этом случае.
Есть ли способ добиться этого?
(?:foo){e<=i}
, где вы перебираете некоторое целое числоi
. В первый раз, когда вы получите совпадение, вашеi
будет расстоянием Левенштейна. - person Martin Ender   schedule 10.06.2013(foo)|((?:foo){e=1})|((?:foo){e=2})
и проверить, какая группа соответствует, если первое e = 0, второе e = 1 и т. д. - person Qtax   schedule 10.06.2013