我有以这种格式 676767 2343423 2344444 32494444 索引的数据。我需要一个正则表达式来对分析器从右边的最后 7 位数字进行模式化。前输出:2494444。我们尝试过的模式 [0-9]{7} 不起作用。
问问题
2706 次
1 回答
2
在 ElasticSearch 中,模式默认是锚定的。这意味着,您不能依赖部分匹配,您需要匹配整个字符串并捕获最后连续的 7 个数字。
利用
.*([0-9]{7})
在哪里
.*
- 将匹配除换行符以外的任何 0+ 字符(尽可能多),然后将回溯以匹配...([0-9]{7})
- 7 位数字放入捕获组 1。
如果在正则表达式模式中定义了捕获组,则 Sense 插件会返回捕获的值,因此不需要进行额外的提取工作(或组访问工作)。
于 2016-10-19T12:53:55.200 回答