0

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

4

1 回答 1

2

在 ElasticSearch 中,模式默认是锚定的。这意味着,您不能依赖部分匹配,您需要匹配整个字符串并捕获最后连续的 7 个数字

利用

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

在哪里

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

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

于 2016-10-19T12:53:55.200 回答