正则表达式 PCRE 字段提取
Regex PCRE field extraction
我正在尝试使用正则表达式从以下事件中提取用户字段。
2018 年 8 月 6 日星期一 19:35:34 whostname sshd[4191]:从 27.96.191.11 端口 3558 ssh2 备份密码失败
2018 年 8 月 6 日星期一 19:35:59 whostname sshd[5625]:来自 27.96.191.11 端口 1574 ssh2 的任何人的密码失败
2018 年 8 月 6 日星期一 19:36:07 whostname sshd[3840]:来自 27.96.191.11 端口 4916 ssh2 的无效用户 uni 的密码失败
2018 年 8 月 6 日星期一 19:36:26 whostname sshd[66863]:pam_unix(sshd:session):由 (uid=0)
为用户 michael 打开的会话
2018 年 8 月 6 日星期一 19:36:26 whostname sshd[1573]:来自 27.96.191.11 端口 1025 ssh2 的无效用户 harry 的密码失败
第一个事件的用户字段是 "backup",第二个事件是 "nobody",第三个是 "uni",第四个是 "michael",第五个是 "harry"
我尝试了不同的正则表达式但没有成功
例如:https://regex101.com/r/52GMc4/1
非常感谢您的帮助
您还需要测试 user
和 invalid user
这两个词出现在您的用户名之前的可能性。以下匹配你所有的测试字符串
/for(?:\s(?:invalid\s)?user)?\s+(?<User>\w+)/
可能不那么优雅,但您会在第二组中找到捕获的用户名:
/(password for|invalid user|opened for user) (\w+)/gi
我正在尝试使用正则表达式从以下事件中提取用户字段。
2018 年 8 月 6 日星期一 19:35:34 whostname sshd[4191]:从 27.96.191.11 端口 3558 ssh2 备份密码失败
2018 年 8 月 6 日星期一 19:35:59 whostname sshd[5625]:来自 27.96.191.11 端口 1574 ssh2 的任何人的密码失败
2018 年 8 月 6 日星期一 19:36:07 whostname sshd[3840]:来自 27.96.191.11 端口 4916 ssh2 的无效用户 uni 的密码失败
2018 年 8 月 6 日星期一 19:36:26 whostname sshd[66863]:pam_unix(sshd:session):由 (uid=0)
为用户 michael 打开的会话2018 年 8 月 6 日星期一 19:36:26 whostname sshd[1573]:来自 27.96.191.11 端口 1025 ssh2 的无效用户 harry 的密码失败
第一个事件的用户字段是 "backup",第二个事件是 "nobody",第三个是 "uni",第四个是 "michael",第五个是 "harry"
我尝试了不同的正则表达式但没有成功
例如:https://regex101.com/r/52GMc4/1
非常感谢您的帮助
您还需要测试 user
和 invalid user
这两个词出现在您的用户名之前的可能性。以下匹配你所有的测试字符串
/for(?:\s(?:invalid\s)?user)?\s+(?<User>\w+)/
可能不那么优雅,但您会在第二组中找到捕获的用户名:
/(password for|invalid user|opened for user) (\w+)/gi