說我有搜索字符串「男士健康」和我的數據庫我有值「男性健康」領域,如何將我的搜索字符串匹配針對這也許使用正則表達式?請記住,這只是一個例子,在我的數據庫中有很多記錄也包含任何數量的非字母字符,如「/,$,', - ,(,),1,2 ...」?搜索字符串是從URL獲取的,不應該包含任何編碼以便於閱讀。如何在Mysql字段中搜索字符串以填充字段中的任何特殊字符?
2
A
回答
0
我結束了創建一個小功能,其產生我和我的MySQL查詢的RLIKE應該不管字母之間的任何特殊字符的字母數字字符序列匹配使用正則表達式的字符串。
function GenerateCategoryRegex($SrchTerm) {
$arrChar = str_split(str_replace(' ', '', $SrchTerm));
$RegEx = '(^|;)+[[:space:]]*';
foreach($arrChar as $Char) {
$RegEx .= $Char . '{1}[^\w,]*';
}
$RegEx .= '[[:space:]]*(;|$)+';
return $RegEx;
}
0
添加另一列,其中包含「可搜索文本」,如「mens health」。然後搜索是列,但顯示原列(「平均健康」)。
現在,你可以自由地做其他調整 - 比如添加同義詞,常見的拼寫錯誤等的搜索欄。
而且你REGEXP
可以成爲一個簡單的LIKE
,或可能甚至快速FULLTEXT
。
相關問題
- 1. 如何在JavaScript中搜索字符串中的特殊字符?
- 2. 搜索MySQL中有特殊字符的字符串值
- 3. 想要在字符串中搜索,如果有任何特殊字符
- 4. 在awk中的字段中搜索特定的字符串
- 5. 在MS Access中搜索包含特殊字符的字符串
- 6. Selenium IDE - 如何驗證名字字段中的特殊字符
- 7. MYSQL搜索一個字符串是否包含特殊字符?
- 8. 在MySQL LongText字段中搜索字符串的'正確'方法?
- 9. 如何在所有字段中搜索int或字符串
- 10. 如何搜索多個字符串或字符在字段中SQL
- 11. 從mySQL搜索填充表格字段
- 12. Elasticsearch搜索在特殊字符和通配符字段中失敗
- 13. 查找字符串中的任何特殊字符
- 14. 使Autohotkey忽略字符串中的任何特殊字符
- 15. 如何獲得一段特殊字符的子字符串,例如中文
- 16. 如何檢測字符串中的特殊字符和數字?
- 17. 如何在字段條目中禁止特殊字符?
- 18. 如何搜索記錄在mysql中有特殊字符
- 19. PostgreSQL中搜索中的特殊字符
- 20. xslt字符串中的特殊字符
- 21. 如何剪切字符串以適合MySQL中的TEXT字段
- 22. PHP填充字符串包含特殊字符
- 23. 在字段中搜索字符串或數字
- 24. 使用PHP和Mysql時,無法搜索字符串中的特殊字符
- 25. 如何在hibernate搜索中搜索特殊字符?
- 26. 如何阻止HTML輸入字段中的特殊字符?
- 27. 如何在URL搜索字符串中使用特殊字符發送字符串?
- 28. 特殊字符的手稿字段
- 29. 在任何字段中查找包含搜索字符串的文檔
- 30. mysql全文搜索和特殊字符
爲什麼不直接使用'='的完美匹配? –
MySQL中沒有「正則表達式替換」。我通過編寫一個MySQL函數來輸出字符串的淨化版本來解決這個問題。該函數逐字符地逐個遍歷源字符串並生成結果。 –
到@JoshGreifer的解決方案類似,我已經存儲領域的消毒副本在數據庫中,但我的是一些BBML的語法和引用大量雜亂。因爲我知道每次有人搜索時都會遇到問題,所以我沿着這條路線前進。這是一個SQL Server數據庫,但這是無關緊要的。 –