REGEX соответствует 100% уверенности, а как насчет 99%? - PullRequest
4 голосов
/ 22 марта 2011

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

Проблема в том, что пользователи иногда могут иметь тип или забыть точку и т. Д ...

есть ли способ в рубине сказать, что совпадение с уровнем достоверности X%?

Значение, если цель совпадения составляет 500 символов, и найдено совпадение с 490 символами, сопоставьте его, а нечто-нибудь соответствует?

Спасибо

Ответы [ 4 ]

8 голосов
/ 22 марта 2011

В этом случае регулярные выражения - не лучший инструмент.Может быть, что-то вроде расстояние Левенштейна вместо?

6 голосов
/ 22 марта 2011

Я недавно прочитал о библиотеке Tre, звучит как то, что вы ищете:

http://laurikari.net/tre/

3 голосов
/ 22 марта 2011

Добавление к инструменту расстояния до строки: amatch http://flori.github.com/amatch/ Это имеет несколько алгоритмов расстояния до строки, и они написаны на C. Это очень быстро.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...