即時用戶輸入有一些額外的或改變的字母,我正在研究正則表達式來匹配單詞。例如,如果用戶輸入爲pgone
,則我的正則表達式仍應與phone
匹配,或者如果用戶輸入爲phini
,則它也應該與phone
匹配。我不知道如何做到這一點。REGEXP智能外部字母檢測
我曾嘗試以下,但它符合我一些多餘的話:
[[:<:]](p|)[a-zA-Z]{0,2}(g|)[a-zA-Z]{0,2}(o|)[a-zA-Z]{0,2}(n|)[a-zA-Z]{0,2}(e|)[a-zA-Z]{0,}[[:>:]]
。
http://php.net/levenshtein –
這可以通過將可接受拼寫錯誤映射到「正確」單詞的映射或者將編輯距離映射到目標單詞的度量來完成。正則表達式方法對於您的目標將迅速增長無法管理。 – dawg