2016-08-23 67 views
0

我是grok/logstash newbe,并且在我的消息中匹配第三组数字时遇到了问题。GROK第三场比赛

“消息”=> “XYZ事件= 345序列= 55值= 75”

基本上我想是最后一组数字 '75'

我的过滤器: 神交{匹配= > [“message”,“(?[0-9] +)”]} 返回345,我该如何指定3're匹配?

+0

尝试'匹配=> [ “消息”,“(? [0-9] +)$“]' –

回答

0

为了配合第三组数字,你需要使用

^(?:\D*\d+){2}\D*(?<value>\d+) 

regex demo

图案的详细资料

  • ^(?:\D*\d+){2} - 零个或多个非数字后用1+数字,2次
  • \D* - 0+非数字
  • (?<value>\d+) - 的第三组数字
+0

我的消息最后包含不可预测的字符,所以基本上我需要获取第三组数字[0-9] +。基本上不能使用$ – Duncan

+0

好的,那么请请在您的问题中重新输入*最后一组数字* –

+0

您是否尝试过更新后的解决方案?如果这不起作用,请尝试使用'^ \ D *(?:\ d + \ D +){2}(? \ d +)'这是更具限制性的,并且将需要至少3个数字块与1个或更多个非数字符号分隔。 –