正则表达式的 Azure Log Analytics 语法错误
Azure Log Analytics Syntax Error for Regex
我正在为以下日志文件类型编写 DNS 解析器:
18/03/2020 07:08:23 1164 数据包 000000C164RF56B0 UDP Rcv 10.128.151.34 076e Q [0001 D NOERROR] A (10)indelpus03(6)kworld(4)kay(3)com(0)
我正在尝试获取 [] 中的任何内容 - 因此 0001 D NOERROR。我有以下有效的正则表达式:
(?<=[)(.*?)(?=])
然而,当我在 KQL 上测试它时,它失败了,它说语法错误。如果有人有解决方案,请告诉我。域名等的正则表达式也是如此
这里有两种方法:
1)使用解析运算符:https://docs.microsoft.com/en-us/azure/kusto/query/parseoperator
print m = '18/03/2020 07:08:23 1164 PACKET 000000C164RF56B0 UDP Rcv 10.128.151.34 076e Q [0001 D NOERROR] A (10)indelpus03(6)kworld(4)kay(3)com(0)'
| parse m with * '[' Message ']' *
2) 使用 extract() 函数:https://docs.microsoft.com/en-us/azure/kusto/query/extractfunction
print m = '18/03/2020 07:08:23 1164 PACKET 000000C164RF56B0 UDP Rcv 10.128.151.34 076e Q [0001 D NOERROR] A (10)indelpus03(6)kworld(4)kay(3)com(0)'
| extend Message = extract(@'\[(.+?)\]', 1, m)
我正在为以下日志文件类型编写 DNS 解析器:
18/03/2020 07:08:23 1164 数据包 000000C164RF56B0 UDP Rcv 10.128.151.34 076e Q [0001 D NOERROR] A (10)indelpus03(6)kworld(4)kay(3)com(0)
我正在尝试获取 [] 中的任何内容 - 因此 0001 D NOERROR。我有以下有效的正则表达式:
(?<=[)(.*?)(?=])
然而,当我在 KQL 上测试它时,它失败了,它说语法错误。如果有人有解决方案,请告诉我。域名等的正则表达式也是如此
这里有两种方法:
1)使用解析运算符:https://docs.microsoft.com/en-us/azure/kusto/query/parseoperator
print m = '18/03/2020 07:08:23 1164 PACKET 000000C164RF56B0 UDP Rcv 10.128.151.34 076e Q [0001 D NOERROR] A (10)indelpus03(6)kworld(4)kay(3)com(0)'
| parse m with * '[' Message ']' *
2) 使用 extract() 函数:https://docs.microsoft.com/en-us/azure/kusto/query/extractfunction
print m = '18/03/2020 07:08:23 1164 PACKET 000000C164RF56B0 UDP Rcv 10.128.151.34 076e Q [0001 D NOERROR] A (10)indelpus03(6)kworld(4)kay(3)com(0)'
| extend Message = extract(@'\[(.+?)\]', 1, m)