Regex 用于从防火墙系统日志匹配项的正则表达式

Regex 用于从防火墙系统日志匹配项的正则表达式,regex,Regex,我正试图用正则表达式从下面的日志中提取某些信息。我和regex团体混了一段时间,一事无成。我想获取日期/时间戳、usr字段、dstname字段和arg字段。我怎样才能做到这一点 May 1 08:21:02 192.168.1.1 id=firewall sn=fakeserial time="2020-05-01 12:21:02 UTC" fw=1.2.3.4 pri=3 c=4 m=14 msg="Web site access denied" app=2515 sess="Auto"

我正试图用正则表达式从下面的日志中提取某些信息。我和regex团体混了一段时间,一事无成。我想获取日期/时间戳、usr字段、dstname字段和arg字段。我怎样才能做到这一点

May  1 08:21:02 192.168.1.1 id=firewall sn=fakeserial time="2020-05-01 12:21:02 UTC" fw=1.2.3.4 pri=3 c=4 m=14 msg="Web site access denied" app=2515 sess="Auto" n=398533 usr="sampledomain\username" src=192.168.1.150:50334:X0 dst=72.21.81.240:80:X1 srcMac=b0:00:b4:18:4a:b5 dstMac=c0:ea:e4:9d:a0:8c proto=tcp/http dstname=ctldl.windowsupdate.com arg=/msdownload/update/v3/static/trustedr/en/disallowedcertstl.cab code=99 Category="Administrative Custom List settings" fw_action="drop"

你可以把它建立在这样的基础上

(\w{3}  \d* [\d:]*).*usr="([a-z\\]*)".*dstname=([\w.]*).*arg=([\/][^ ]*)

您可以将其建立在这样的基础上

(\w{3}  \d* [\d:]*).*usr="([a-z\\]*)".*dstname=([\w.]*).*arg=([\/][^ ]*)

“我与正则表达式组混在一起有一段时间了”-请展示您的最新尝试,将其添加到问题中以查看您的前进方向。同时,给我们一个预期结果的示例。“我与正则表达式组混在一起有一段时间了”-请展示您的最新尝试,将其添加到问题中以查看您的前进方向。此外,给我们举一个预期结果的例子。太好了!用正则表达式来匹配这样的arg怎么样?\w将不适用于此,但我不能这样做。*因为它匹配日志的整个其余部分。arg=/gen_204?atyp=i&zx=158853900507&ogsr=1&ei=dy6vXv6PNbGRggefsqLQBg&ct=7&cad=i&id=19014990&loc=imghp&prid=2&ogd=com@user2241751很高兴听到。我已经更新了我的答案,包括你想要的。太好了!用正则表达式来匹配这样的arg怎么样?\w将不适用于此,但我不能这样做。*因为它匹配日志的整个其余部分。arg=/gen_204?atyp=i&zx=158853900507&ogsr=1&ei=dy6vXv6PNbGRggefsqLQBg&ct=7&cad=i&id=19014990&loc=imghp&prid=2&ogd=com@user2241751很高兴听到。我已经更新了我的答案,包括你想要的。