You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

KQL parse运算符如何为捕获变量指定自定义正则表达式

这个需求完全可以在KQL中实现。

使用parse运算符的正则模式时,你可以通过字段名:自定义正则规则的语法,为指定字段自定义匹配的正则模式,不需要使用默认的(.*?)匹配逻辑。你需求中要匹配单词字符的正则为\w*,只需要把对应字段的写法调整为_className:@'\w*'即可,加@符是为了避免转义正则中的反斜杠。

修改后的完整查询代码如下:

let Traces = datatable(EventText:string)
[
    '2021-10-04T20:43:03,174    2511 INFO cd060096-c6c4-4ddf-b9f7-5795f6d04514 c2a42807-6ab3-41bb-8d72-1c48f2213c31 iTKTS Fiona (ABSDEF) () () () ITKTSUtil - <ProductFulfillmentResponse>U2028  <errorStatus>UNPROCESSED</errorStatus>U2028  <errorCode>GEN_ERR</errorCode>U2028  <errorDescription>WARNING - UNPROCESSED DUE TO OTHER ERRORS</errorDescription>U2028  <customerDocuments>U2028    <errorDescription>WARNING - UNPROCESSED DUE TO OTHER ERRORS</errorDescription>U2028    <itemFulfillmentInfos>U2028      <errorDescription>WARNING - UNPROCESSED DUE TO OTHER ERRORS</errorDescription>U2028    </itemFulfillmentInfos>U2028  </customerDocuments>U2028</ProductFulfillmentResponse>U2028'
];
Traces  
| parse kind = regex EventText with _timestamp ",\\d{3} " _threadid " " _logLevel " " _clientTransactionId " " _appTransactionId " " _appService " " _bigeazy " \\(" _recordLocator "\\) \\(" _status "\\) \\(" _responseTime "\\) \\(" _serviceName "\\) " _className:@'\w+' " - " _message
| project _className, _message

执行后即可得到预期结果:

  • _className 字段值为 ITKTSUtil
  • _message 字段为后续的XML响应内容

内容的提问来源于stack exchange,提问作者Ethan Miller

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 02:09:03