KibanaはElasticsearchの記法でクエリを書くので、こちらのドキュメントを参照する
Regexp query | Elasticsearch Guide [8.4] | Elastic
正規表現で使えるsyntaxについてはこちら
Regular expression syntax | Elasticsearch Guide [8.4] | Elastic
否定先読み(negative lookahead)
「~を含まない」で検索したいとき役に立つ
flags
を COMPLEMENT
か ALL
にすると有効になる
a~bc
⇒ a(b以外)c にマッチする (abcにはマッチしない、aacやa1cにはマッチする)~(.*(foo|bar).*)
⇒ foo,barを含まない文字列にマッチする
https://stackoverflow.com/questions/38645755/negative-lookahead-regex-on-elasticsearch
積集合(INTERSECTION)
&
が AND operator として使える
aaa.+&.+bbb
⇒ ‘aaabbb’ にマッチする.*night.*&~(.*-(fox|wolf).*)
⇒ (night を含む) かつ (-fox または -wolf を含まない)