我的任務是爲不同字符串中的條目創建黑名單。我正在使用MySQL
檢查數據庫中的條目。使用字邊界時的奇怪行爲[[:<:]] and [[:>]]
你可能知道單詞邊界標誌着MySQL
: [[:<:]]
和[[:>:]]
對應於\b
在默認情況下正則表達式。
當一個字符串中有regexp special characters
和word boundary marks
時出錯。
但是這些角色是通過雙反斜槓逃脫的!
只要運行這個查詢
SELECT
"test()" REGEXP "[[:<:]]test\\(\\)[[:>:]]",
"test()" REGEXP "test\\(\\)",
"test" REGEXP "[[:<:]]test[[:>:]]",
"test" REGEXP "test" ;
,你會得到
0 | 1 | 1 | 1
相反的預期
1 | 1 | 1 | 1
可能有人,請解釋一下如何解決這個問題?
感謝您指出解決方案,這工作! – vikingmaster 2013-04-07 22:32:02