首页 > 解决方案 > 用 1 个正则表达式匹配 2 个 Pulse Secure 事件

问题描述

我正在尝试用 1 个正则表达式匹配 2 个事件,需要一些帮助。

正则表达式

^(?:[^\.\n]*\.){6}\d+\s+\w+\s+(?P<software>\w+\-\w+/\d+\.\d+\.\d+\.\d+\s+\(\w+\s+\d+\)\s+\w+/\d+\.\d+\.\d+\.\d+)

匹配

Mar 31 02:37:38 vpn PulseSecure: 2020-03-31 02:37:38 - vpn - [192.168.17.249] FRED(DUO-Windows)[] - Agent login succeeded for FRED/DUO-Windows from 192.168.17.24 with Pulse-Secure/8.3.4.1333 (Windows 10) Pulse/5.3.4.1333.

软件Pulse-Secure/8.3.4.1333 (Windows 10) Pulse/5.3.4.1333

没有匹配

Mar 31 03:01:13 vpn PulseSecure: 2020-03-31 03:01:13 - vpn - [192.168.17.24] FRED(DUO-Mac)[Mac] - Agent login succeeded for FRED/DUO-Mac from 192.168.17.24 with Pulse-Secure/9.0.4.1731 (Macintosh 10_14) Pulse/9.0.4.1731.

标签: regex

解决方案


您的模式不起作用,因为有两种不同的模式,但您使用相同的模式 (\w+\s+\d+) 来捕获以下部分:

  • (视窗 10)
  • (麦金塔 10_14)

我已经更新了正则表达式,请在此处查看


推荐阅读