如何解决Lucene正则表达式v4
我正在尝试在Kibana版本7.9.1上查询uuidv4。我禁用了KQL,现在看起来它正在使用lucene。 uuid v4的示例:
2334e133-37a6-4039-8acd-b0a561b961b2
现在,如果我输入:
/[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}
但是我不能因为连字符。
还有其他方法可以摆脱讨厌的连字符吗? 我正在使用弹性搜索7.9.1
解决方法
我不确定为什么上述正则表达式对您不起作用,但这是我在上下文中可以提出的最好的选择:^[0-9a-fA-F]{8}[^\s\d\w!@#$%^&*()_+=\\\][{}|';:"\/.,<>?][0-9a-fA-F]{4}[^\s\d\w!@#$%^&*()_+=\\\][{}|';:"\/.,<>?][0-9a-fA-F]{12}$
基本上,这只是用不属于[[^ ...]“范围的字符替换您的”-“,我几乎填充了除-之外的所有内容,并添加了开始字符” ^“和结束字符” $“ >
再次,不确定Lucene是否仅不使用正则表达式的某些部分,但请尝试不转义-是的,我知道某些程序在使用正则表达式时会自动为您转义符号。
,我最终在kibana发现选项中对Lucene使用了以下正则表达式:
/ [0-9a-fA-F] {8} /和/ [0-9a-fA-F] {4} /和// [0-9a-fA-F] {12} /
不漂亮,但是可以。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。