2010-07-11 3 views
1

Привет, может ли кто-нибудь сказать мне, почему мы не используем алгоритмы Knuth Morris Pratt в современных практиках программирования и больше предпочитаем регулярное выражение?Регулярное выражение против KMP

ответ

1

Есть ли более одного алгоритма KMP? Я понимаю, что существует один алгоритм для поиска строки в другой строке. Regex гораздо более гибкий - и нет причин, по которым очень простое выражение регулярного выражения не может использовать KMP - это зависит от разработчика.

+0

Другой алгоритм - Бойер-Мур, его заимствует некоторый KMP, я думаю. Следующая ссылка говорит, что способ вычисления следующей смены во время неправильного совпадения несколько напоминает конечный автомат. Сказав это, я предполагаю, что у нашего Regex есть несколько KMP. http://www.ics.uci.edu/~eppstein/161/960227.html – realnumber

+0

Каким бы то ни было образом, работающий оператор, регулярное выражение работает, и он работает хорошо - не исправить то, что не сломано! :) –

Смежные вопросы