【问题标题】:Splunk field extraction RegexSplunk 字段提取正则表达式
【发布时间】:2017-11-23 18:49:34
【问题描述】:

我想在 splunk 中提取一个字段,但是 Splunk Regex 不起作用,所以我正在编写自己的 Regex。但是我正在努力提取。有人可以帮忙吗?

我的字符串:

Node ID=nbgcXYZdfdscxm2
Node ID=NBGDFDFCCXM2
Node ID=BURECXM2

预期输出:

cXYZdfds
DFDFC
BURE

到目前为止,我能够写这个 .*(?i)Node ID=[^nbg](?P<CM_Node_Id>[^\]cxm\d]+)

【问题讨论】:

标签: regex splunk


【解决方案1】:

代码

See regex in use here

^Node ID=(?:nbg)?(.*?)(?:cxm\d)?$

结果

输入

Node ID=nbgcXYZdfdscxm2
Node ID=NBGDFDFCCXM2
Node ID=BURECXM2

输出

cXYZdfds
DFDFC
BURE

说明

  • ^ 在行首断言位置
  • Node ID= 从字面上匹配这个字符序列
  • (?:nbg)? nbg 的可选匹配项
  • (.*?) 任意多次捕获任何字符,但尽可能少地进入捕获组 1
  • (?:cxm\d)? cxm 的可选匹配字面意思,后跟一个数字
  • $在行尾断言位置

【讨论】:

    【解决方案2】:

    上面提供的答案应该可以正常工作。试试这个 regex 的 Splunk

    .*Node ID=(?:nbg)?(.*?)(?P<CM_Node_Id>.+)cxm2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-05
      • 1970-01-01
      相关资源
      最近更新 更多