検索語に一致する非常に単純な検索クエリを作成しようとしていますが、完全な単語に一致するため、部分一致は問題外です。
検索する文字列は次のとおりです。
" (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 の境界がスペースをカバーしていないのに、pt.3 のように見えるのはなぜですか? ここで何が欠けていますか?
ありがとう