如何获取grok模式的字符串的最后一个字符

问题描述 投票:0回答:1

对大多数人来说,这可能是一个愚蠢的问题。

我对logstash grok很陌生。我刚刚通过grok调试器成功运行了我的grok模式。

以下是我的grok模式中的severity_code值:

+LRGPSEVRI
+LRGPSEVRE
SQDC061I

我想获取每个值的最后一个字符,即'I'和'E'。由于字符串的值的长度不同,因此我无法执行logstash突变,因为到目前为止我所看到的全部都必须指定长度。

感谢帮助。谢谢。

logstash logstash-grok
1个回答
0
投票

如果我理解正确,可以尝试

grok {
  match => ["severity_code", "(?<Severity>\B([EI])\b)"]
}

这正在使用正则表达式,并在单词障碍\b的前面寻找E或I并以非单词屏障\B(即字母)开头。如果严重性在字符串的末尾,则应使用末尾锚点$代替:(?<Severity>\B([EI])$)

© www.soinside.com 2019 - 2024. All rights reserved.