需要帮助编写正则表达式来捕获 DNS 日志
Need help in writing regex to capture DNS logs
下面是 DNS 示例日志,我需要在其中编写一个正则表达式来捕获主机名“Renju123”。两个样本的日志格式结构略有不同。
日志样本如下:
"2018-12-12 13:25:30","Renju, Jacob,M(renjutest)","Renju, Jacob, M (rtest),Renju123,Default Site,Test/firewall","10.221.5.136","XXX.XXX.XXX.XXX","Allowed","16 (A)","NOERROR","1XX.1X.1XX.1XX.Test.com.","Computer Security"
"2018-12-12 13:09:55","rtest","Renju123,Default Site,Renju Renju/Renju","10.250.33.85","XXX.XXX.XXX.XXX","Allowed","12 (PTR)","NOERROR","1XX.1X.1XX.1XX.Test.com.","Software/Technology"
我使用的正则表达式只捕获第一个日志主机名
(?P(?<=),).*?(?=,.?Default)) link here
但我想要一个正则表达式来从两个示例日志中捕获主机名 (Renju123)
您可能会做的(根据评论)是使用 [",]+
匹配双引号或逗号 1 次以上,然后捕获匹配 1 个以上单词字符的组。然后是 ,Default
以便您可以再次匹配:
你的比赛将在 HostName
组。
[",]+(?P<HostName>\w+),Default
如果您的主机名以单词字符开头,您可以使用环视和单词边界 \b
(?<=[,"])\b(?P<HostName>\w+)(?=,Default)
下面是 DNS 示例日志,我需要在其中编写一个正则表达式来捕获主机名“Renju123”。两个样本的日志格式结构略有不同。
日志样本如下:
"2018-12-12 13:25:30","Renju, Jacob,M(renjutest)","Renju, Jacob, M (rtest),Renju123,Default Site,Test/firewall","10.221.5.136","XXX.XXX.XXX.XXX","Allowed","16 (A)","NOERROR","1XX.1X.1XX.1XX.Test.com.","Computer Security"
"2018-12-12 13:09:55","rtest","Renju123,Default Site,Renju Renju/Renju","10.250.33.85","XXX.XXX.XXX.XXX","Allowed","12 (PTR)","NOERROR","1XX.1X.1XX.1XX.Test.com.","Software/Technology"
我使用的正则表达式只捕获第一个日志主机名
(?P(?<=),).*?(?=,.?Default)) link here
但我想要一个正则表达式来从两个示例日志中捕获主机名 (Renju123)
您可能会做的(根据评论)是使用 [",]+
匹配双引号或逗号 1 次以上,然后捕获匹配 1 个以上单词字符的组。然后是 ,Default
以便您可以再次匹配:
你的比赛将在 HostName
组。
[",]+(?P<HostName>\w+),Default
如果您的主机名以单词字符开头,您可以使用环视和单词边界 \b
(?<=[,"])\b(?P<HostName>\w+)(?=,Default)