首页 > 解决方案 > KQL 正则表达式提取

问题描述

我正在尝试提取一个文件名,并且它是文件路径的一部分时的扩展名,这是我正在使用的正则表达式:

([^\\]*\.\w+)

这是我使用 regex101 测试过的示例文件路径:

c:\\users\\u10061279\\appdata\\local\\temp\\2cert_desktop.xml

 

当我使用 regex101 等进行测试时,这可以正常工作,但是当我尝试按照以下方式将其放入查询时: ExtractQuery

语法看起来很乱,当我将鼠标悬停在查询上时,它说它缺少 '"' QueryError

我不确定如何让它工作,我已经玩了一段时间了,无法清除错误。提前致谢!

标签: regexazure-data-explorerkql

解决方案


您可以对字符串文字使用“@”前缀(类似于 .NET)。

有关 Kusto 字符串文字的更多信息: https ://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/scalar-data-types/string

print m="c:\\users\\u10061279\\appdata\\local\\temp\\2cert_desktop.xml"
| project extract(@"([^\\]*\.\w+)", 1, m)

推荐阅读