我有以这种格式索引的数据676767 2343423 234444432494444。我需要一个正则表达式来对anlayser的右后7位数字进行图案化。例如,输出为2494444。我们尝试了[0-9] {7}的模式不起作用。

最佳答案

在ElasticSearch中,模式为anchored by default。这意味着,您不能依靠部分匹配来匹配整个字符串并捕获最后连续的7位

使用

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

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

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

    关于regex - Elasticsearch 正则表达式从右边获取最后7位数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40124985/

    10-10 09:37