我舉一個例子來輕鬆地描述問題。在PHP中需要正則表達式的幫助,找出類似的詞
輸入文本:
魯尼是英語足球運動員誰扮演作爲曼聯前鋒。 魯尼成爲英格蘭隊最年輕的球員,當時他贏得了對抗澳大利亞友誼賽的第一個蓋帽。沃爾科特在2006年5月爆發魯尼的出場紀錄由36天
輸入關鍵字:魯尼
預期輸出(關鍵字數):3(魯尼,魯尼,魯尼的)
所以,它不僅包括「wayne rooney」,還包括其他類似的詞。
我有搜索過,我得到這個正則表達式:
$keyword_count = preg_match_all("/(\w*(?:wayne|rooney)\w*)/i", $source, $res);
但它給了我4作爲輸出。它將「wayne rooney」視爲兩個不同的關鍵字。
任何人都可以幫助我構建正確的公式嗎? Regex真的是最有效的解決方案嗎?我有大量的文字要搜索。任何其他解決方案,例如PHP的文本挖掘庫?
非常感謝。
由於您在搜索(|字符)中查找'wayne'或'rooney',因此會返回「額外」結果。嘗試通過替換'wayne |'部分有像'(wayne \ s *)?'之類的東西。 –
是啊...它現在有效。非常感謝。 –