0
我試圖創建一個非常簡單的搜索查詢,它匹配任何搜索字詞,但對全部單詞,所以部分匹配不會出現問題,例如使用[[:<:]][[:>:]]時空間是否被視爲字邊界?
要查找的字符串是:
" (This is) my test string "
和匹配的查詢可能是:
"This is"
"(This is)"
"(This is"
"This is)"
"my test"
"string"
等,但並不:
"This is my"
"(thi"
"my tes"
等,這些都只是部分匹配。 LIKE是沒有用的,所以在這裏我與REGEXP和單詞邊界嘗試:
1. SELECT " (This is) my test string " REGEXP "(^|[[:<:]])this is([[:>:]]|$)"; -> 1
2. SELECT " (This is) my test string " REGEXP "(^|[[:<:]])\\(this is\\)([[:>:]]|$)"; -> 0
3. SELECT " This is my test string " REGEXP "(^|[[:<:]])this is([[:>:]]|$)"; -> 1
現在的問題是,爲什麼不pt.2覆蓋空間的界限,而他們第3篇第似乎(圓括弧刪除thos顯示差異)?我在這裏錯過了什麼?
感謝