弹性搜索正则表达式从右侧获取最后 7 位数字

2024-01-07

我有以此格式索引的数据 676767 2343423 2344444 32494444。我需要一个正则表达式来模式分析器从右边开始的最后 7 位数字。 Ex 输出:2494444。我们尝试过的模式 [0-9]{7} 不起作用。


在 ElasticSearch 中,模式是默认锚定 https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html#_standard_operators。这意味着,你不能依赖partial火柴,你需要匹配整个字符串并且capture最后连续7位数字.

Use

.*([0-9]{7})

where

  • .*- 将匹配除换行符之外的任何 0+ 字符(尽可能多),然后回溯以匹配...
  • ([0-9]{7})- 7 位数字放入捕获组 1。

如果在正则表达式模式中定义了捕获组,Sense 插件将返回捕获的值,因此不需要执行额外的提取工作(或组访问工作)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

弹性搜索正则表达式从右侧获取最后 7 位数字 的相关文章

随机推荐