PHP實現的字串匹配演算法示例 sunday演算法

2022-10-06 07:54:13 字數 528 閱讀 6600

sunday演算法是daniel m.sunday於2023年提出的字串模式匹配。其核心思想是:在匹配過程中,模式串發現不匹配時,演算法能跳過盡可能多的字元以進行下一步的匹配,從而提高了匹配效率。

<?php /*

*@param $pattern 模式串

*@param $text 待匹配串

*/function mysunday($pattern = '',$text = '')

while($i <= $text_len - $pattern_len)

}if($i + $pattern_len < $text_len && isset($shift[$text[$i + $pattern_len]]))else

}}$text = "i am testing mysunday on sunday!";

$pattern = "sunday";

echo mysunday($pattern,$text);

執行結果:

the first match index is 25

php隨機匹配演算法,PHP實現的字串匹配演算法示例

這篇文章主要介紹了php實現的字串匹配演算法,簡單描述了sunday演算法的概念與原理,並結合例項形式分析了php基於sunday演算法實現字串匹配操作相關技巧,需要的朋友可以參考下 sunday演算法是daniel m.sunday於1990年提出的字串模式匹配。其核心思想是 在匹配過程中,模式串...

典型字串匹配演算法實現 單字串匹配演算法

部落格源址 相信大家對快捷鍵ctrl f是做什麼用的都應該很熟悉了,無論是文字編輯 網頁瀏覽等程式上它都意味著字串搜尋,我們提供乙個關鍵字,它將找到當前頁面上的所有該關鍵字所在的位置。關鍵字稱為模式串,在文字t中尋找模式串p出現的所有出現的位置,解決這種問題的演算法叫做字串匹配演算法。字串匹配演算法...

PHP 字串匹配演算法 Sunday演算法

搜尋文字 text my testing algorithm in test 模式 pattern test sunday演算法的關鍵點在於 1.設定乙個匹配位移對映 shift,這個shift對映關係必須按從左到右的順序簡歷,例如pattern test 注意到此處有2個t,那麼建立出來的位移對映...