如何解决GROK或Regex获取以.jar结尾的文件名
我想使用Grok或Regex解析logstash中的字段。 我想获取所有以 .jar 结尾的进程名称,并将它们放在名为“ subprocess” 的字段中 样本数据就是这样
/opt/java/jdk1.8.0_241/bin/java -server -Xms256m - Xms512m -XX:CompileThreshold=7000 -cp /opt/fmw/middleware/wlserver/server/lib/weblogic-launcher.jar -Dlaunch.use.env.classpat
到目前为止,我一直在尝试追踪
.*\.jar$ #This works on regex101.com but not in logstash
(?<subprocess>[$.*\w.jar$]) #This only gives j in subprocess
任何可以提取“ weblogic-launcher.jar” 并将其放入“ subprocess” 字段的正则表达式模式都将受到高度赞赏。
谢谢
解决方法
您可以使用
/[^/]*?(?<subprocess>[^/\s]+\.jar)
请参见regex demo。
详细信息
-
/
-一个/
字符 -
[^/]*?
-除/
以外的其他零个或多个字符, -
(?<subprocess>[^/\s]+\.jar)
-组“子进程”:除/
和空格之外的一个或多个字符,然后是.jar
字符串。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。