得到错误为“ Regex:子模式名称中的语法错误(缺少终止符)。”在SPLUNK中

问题描述 投票:0回答:1

我一直在Splunk中提取字段,这对于所有标题似乎都可以正常工作,但对于标题l-s-m,我得到的错误是“子模式名称中的语法错误(缺少终止符)。”

我对其他标头和所有工作方式都做过类似的工作,但这是唯一带有“ hypen”符号的标头,它给出了此错误,我已经尝试了多次,但这无济于事。

标题:

Content-Type: application/json
Accept: application/json,application/problem json
l-m-n: txxxmnoltr 
Accept-Encoinding:gzip

我正在尝试的正则表达式是SPLUNK中的"rex field=u "l-m-n: (?<l-m-n>.*)"。您能在这里指导我吗?

splunk splunk-query
1个回答
0
投票

rex无法提取到带有连字符的字段名称。但是,您可以使用rename

解决此问题
| rex field=u "l-m-n: (?<lmn>.*)" | rename lmn AS "l-m-n"

通常,我会避免在字段名称中使用连字符,因为它可能被误认为是减号。如果要使用字段l-m-n,则需要在所有地方都引用它,例如'l-m-n'我强烈建议您坚持使用字段名称lmn

尝试运行以下命令以了解我的意思

| makeresults | eval l-m-n=10 | eval l=1 | eval m=1 | eval n=1 | eval result_noquote=l-m-n | eval result_quoted='l-m-n'
© www.soinside.com 2019 - 2024. All rights reserved.