我试图在Kibana 7.9.1版本上查询uuidv 4。我禁用了KQL,现在它看起来像是在使用lucene。uuid v4的示例:
2334 e133 - 37 a6 -4039- 8ACD-B 0a 561 b 961 b2型电动汽车
现在如果我输入:/[0-9a-fA-F]{8}/
在搜索栏中,我得到了匹配结果,但只要我试图摆脱连字符,如/[0-9a-fA-F]{8}\-/
个
没有显示任何内容。我想使用完整的正则表达式:[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}
但我不能因为连字符。
有没有其他的方法来摆脱那个讨厌的连字符?顺便说一句,我使用的是ElasticSearch7.9.1
2条答案
按热度按时间jc3wubiy1#
我不知道为什么上面正则表达式对您不起作用,但这是我在给定的上下文中能想到的最好的表达式:
^[0-9a-fA-F]{8}[^\s\d\w!@#$%^&*()_+=\\\][{}|';:"\/.,<>?][0-9a-fA-F]{4}[^\s\d\w!@#$%^&*()_+=\\\][{}|';:"\/.,<>?][0-9a-fA-F]{4}[^\s\d\w!@#$%^&*()_+=\\\][{}|';:"\/.,<>?][0-9a-fA-F]{4}[^\s\d\w!@#$%^&*()_+=\\\][{}|';:"\/.,<>?][0-9a-fA-F]{12}$
它基本上就是用一个不在范围内的字符“[^...]”替换“-”,我几乎填充了所有内容,除了-,并添加了一个开始字符“^”和结束字符“$”
同样,不确定lucene是否只是没有使用regex的某些部分,但尽量不要转义-的,我知道有些程序在使用regex时会自动为你转义符号。
de90aj5v2#
我最终在lucene的kibana discover选项中使用了以下正则表达式:
/[0-9a-fA-F]{2}/与/[0-9a-fA-F]{4}/与/[0-9a-fA-F]{6}/
不漂亮,但很管用。