我正在尝试创建一个正则表达式来为splunk中的DNS quires提取CNAME。我可以获得第一个DNS名称(&#34之后的所有内容;&#34的CNAME记录;以及之前(" ="),但是我找不到一个表达式来获取下一个DNS名称等于。
Mar 1 09:16:43 123.dns.local Mar 1 09:16:43 dns-01-1 SDNS: -> Answer: CNAME-record for dl.wu.ms.edgesuite.net = a26.ms.akamai.net
Mar 1 09:16:43 123.dns.local Mar 1 09:16:43 dns-01-1 SDNS: -> Answer: CNAME-record for dom.dl.wu.akadns.net = dl.wu.ms.edgesuite.net
Mar 1 09:16:43 123.dns.local Mar 1 09:16:43 dns-01-1 SDNS: -> Answer: CNAME-record for main.dl.wu.akadns.net = dom.dl.wu.akadns.net
Mar 1 09:16:43 123.dns.local Mar 1 09:16:43 dns-01-1 SDNS: -> Answer: CNAME-record for download.windowsupdate.nsatc.net = main.dl.wu.akadns.net
Mar 1 09:16:43 123.dns.local Mar 1 09:16:43 dns-01-1 SDNS: -> Answer: CNAME-record for download.windowsupdate.com = download.windowsupdate.nsatc.net
Mar 1 09:16:43 123.dns.local Mar 1 09:16:43 dns-01-1 SDNS: -> Answer: CNAME-record for dl.wu.ms.edgesuite.net = a26.ms.akamai.net
答案 0 :(得分:1)
使用数据中的=
和字符串结尾锚点添加所需的结构:
/CNAME-record\sfor\s(.*?)\s*=\s*(.*)$/
答案 1 :(得分:0)
如果在第二个DNS之后有一些信息,请使用以下信息:
/CNAME-record\sfor\s(\S+)\s*=\s*(\S+)/
其中\S+
表示一个或多个非空格字符。