正則表達式為啥搜索快?或者啥時候比簡單字元串的形式搜索快?
12-30
很多文本處理工具比如notepad和sourceinsight都支持正則表達式搜索,還有ULtraedit也是。
當然慢,比直接匹配字元串快是不可能的。如果這種事情真的發生了,只能說因為太常用,所以花大力氣優化了,但是直接匹配字元串因為沒有KPI的壓力是隨便寫的。
正則表達式的匹配可以用有限狀態自動機實現,時間複雜度也就是O(n),所以比較快。但是比起固定字元串肯定是慢一些的,後者可以用通常常數更小的kmp,bm等演算法。
這些工具有這個功能不是因為正則快,而是可以實現一些複雜的搜索
正則只是一個搜索UI入口,還是個不好的入口,你從這個角度去理解正則就對了。
推薦閱讀:
※使用「融 360」來選擇金融產品的體驗是怎樣的?效果如何?
※開源爬蟲框架各有什麼優缺點?
※網路爬蟲技術的原理及使用實例是什麼?怎麼樣界定使用爬蟲技術獲取信息是否違法?最好是詳細點的說明。
※如何利用好Google Scholar(谷歌學術)?
※在智能電視上,怎樣做搜索才能讓交互更好?