splunk 中的负正则表达式(不使用字段)

Posted

技术标签:

【中文标题】splunk 中的负正则表达式(不使用字段)【英文标题】:Negative regex in splunk (not using fields) 【发布时间】:2015-06-22 09:10:35 【问题描述】:

在不提取字段的情况下,我想搜索任何不包含“country=$”的事件,即事件不能以“country=”结尾。我可以将其正则表达式为“country=(?!$)”,但这仍然需要国家/地区出现在事件中,这不是我想要的。

示例: 我的搜索:

source=*vhost* | regex "country=(?!$)"

事件:

language=en&country=&playerId=29539105

language=en&country=

general error

我想排除中间的一个,同时还击中另外两个。我可以在常规的正则表达式评估器中做到这一点,但 splunk 似乎并没有以同样的方式读取正则表达式。

在常规的正则表达式解释器中,我已经匹配到 (?!(country=$)) 就足够了,但 splunk 不理解这一点,并命中所有事件。

【问题讨论】:

【参考方案1】:

找到问题的一种解决方案,如果不是特定于正则表达式:

regex _raw!="country=$"

【讨论】:

以上是关于splunk 中的负正则表达式(不使用字段)的主要内容,如果未能解决你的问题,请参考以下文章

Splunk通过正则表达式提取关键字

JavaScript 中的负向后等价

JavaScript 中的负向后等价

SQL 正则表达式和字段

使用正则表达式加载数据查询

mysql 正则表达式求解答