Splunk字段提取正则表达式

时间:2017-11-23 18:49:35

标签: regex splunk

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

我的字符串:

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

预期产出:

cXYZdfds
DFDFC
BURE

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

1 个答案:

答案 0 :(得分:0)

代码

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的可选匹配,后跟数字
  • $断言行尾的位置