我有一个日志条目如下:
{"TAGS":".source.s_net_unix","SOURCEIP":"1.2.3.4","PROGRAM":"sshd_ext","PRIORITY":"info","PID":"17825","MESSAGE":"Failed password for invalid user admin from 2.3.4.5 port 55327ssh2","HOST_FROM":"server1","HOST":"server1","FACILITY":"auth","DATE":"Dec 2 09:02:01.81220"}
我需要通过在字符串中查找“消息”来提取“失败的密码”。如何使用String实用程序或编写正则表达式来执行此操作? 提前谢谢。
答案 0 :(得分:2)
首先,为什么要在可解析格式上使用REGEX? REGEX是一种非常强大的武器"处理纯文本时,可解析格式有更专业的工具和库。您还可以查看this。
在您的情况下,我非常确定您的编程语言有一个JSON库(其中一些默认包含JSON库)。
如果JSON库对你来说不是一个好主意,你可以试试这个正则表达式
MESSAGE":"([^"]*)"