我有以这种格式索引的数据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/