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