需要关于编写regex以捕获DNS日志的帮助吗

需要关于编写regex以捕获DNS日志的帮助吗,regex,cisco,umbrella,Regex,Cisco,Umbrella,下面是DNS示例日志,我需要在其中编写正则表达式以捕获主机名“Renju123”。两个示例的日志格式结构差别不大 日志样本如下所示: “2018-12-12 13:25:30”,“Renju,Jacob,M(renjutest)”,“Renju,Jacob,M(rtest),Renju123,默认站点,测试/防火墙”,“10.221.5.136”,“XXX.XXX.XXX.XXX.XXX”,“允许”,“16(A)”,“无错误”,“1XX.1X.1XX.1XX.1XX.1XX.1XX.Test.c

下面是DNS示例日志,我需要在其中编写正则表达式以捕获主机名“Renju123”。两个示例的日志格式结构差别不大

日志样本如下所示:

“2018-12-12 13:25:30”,“Renju,Jacob,M(renjutest)”,“Renju,Jacob,M(rtest),Renju123,默认站点,测试/防火墙”,“10.221.5.136”,“XXX.XXX.XXX.XXX.XXX”,“允许”,“16(A)”,“无错误”,“1XX.1X.1XX.1XX.1XX.1XX.1XX.Test.com”,“计算机安全”

“2018-12-12 13:09:55”,“rtest”,“Renju123,默认站点,Renju Renju/Renju”,“10.250.33.85”,“XXX.XXX.XXX.XXX.XXX”,“允许”,“12(PTR)”,“无错误”,“1XX.1XX.1XX.1XX.Test.com”,“软件/技术”

我使用的正则表达式只捕获第一个日志主机名

(?p(?根据注释),您可以使用
[”,]+
将双引号或逗号匹配1+次,然后将匹配1+个单词的字符捕获到组中。然后
,默认值如下所示,以便您可以再次匹配:

您的匹配项将位于主机名组中

[",]+(?P<HostName>\w+),Default

@第四只鸟——谢谢你的正则表达式。你的正则表达式工作得很有魅力。但我想做一点小小的调整。是否有可能阻止连珠测试/防火墙捕获。下面给出了示例日志。还有链接--“2018-12-12 14:29:49”,“默认站点”,“连珠测试/防火墙,默认站点”,“10.250.33.8”“,”1XX.1X.1XX.1XX.1XX.Test.com“,”允许“,”28(AAAA)”,”NXDOMAIN“,”目标“,”@List25您可以匹配1+个字字符,而不是
[,]+(\w+),默认设置为不匹配空格和正斜杠如果您想允许多于
\w
的字符,您可以使用a并指定允许匹配的字符。@第四只鸟可以帮我更新第二只鸟的正则表达式吗?请参阅演示--@List25您还可以匹配1个以上的单词字符,而不是否定字符class
(?@List25我已经用最后2个正则表达式更新了我的答案。
(?<=[,"])\b(?P<HostName>\w+)(?=,Default)