2010-07-11 604 views
1

嗨,任何人都可以告訴我爲什麼我們沒有在現代編程實踐中使用Knuth Morris Pratt算法,並且更喜歡正則表達式?正則表達式與KMP

回答

1

是否有多個KMP算法?我的理解是,有一種算法用於執行另一個字符串內的字符串搜索。正則表達式更加靈活 - 沒有理由說明一個非常簡單的正則表達式無法使用KMP - 這取決於實現者。

+0

另一種算法是boyer-Moore,它借用了我猜測的一些KMP。 下面的鏈接說,我們在失配期間計算下一次移位的方式有點類似於有限自動機。話雖如此,我假設我們的正則表達式中有一些KMP。 http://www.ics.uci.edu/~eppstein/161/960227.html – realnumber 2010-07-13 00:02:26

+0

無論哪種方式,內存,正則表達式都能正常工作,而且效果很好 - 不要修復未破壞的內容! :) – 2010-07-13 00:15:39