次のようにsqlite3クエリを使用したい:
select * from Log where Desc glob '*[ _.,:;!?-(){}[]<>''"]OK';
のように、OK で終わるレコードを検索するには
OK
asdasda _OK
asda (OK
dasda [OK
dasda ]OK
しかし、クエリでバックブラケットを使用すると、これは失敗します...glob '*[ []]OK';
助言がありますか?
ソース コードに隠されたコメントには、次のように書かれています。
グロビングのルール:
*
0 個以上の文字の任意のシーケンスに一致します。
?
正確に 1 文字に一致します。
[...]
囲まれた文字リストの 1 文字に一致します。
[^...]
囲まれたリストにない 1 文字に一致します。
[...]
and[^...]
マッチングを使用すると、 or]
の後の最初の文字にすることで、文字をリストに含めることができます。を使用して文字の範囲を指定できます。例: 任意の 1 つの小文字に一致します。に一致させるには、リストの最後の文字にします。[
^
-
[a-z]
-
したがって、あなたの記録は で見つけることができます... glob '*[] _.,:;!?(){}[<>''"-]OK'
。