Java 带条件的splunk正则表达式
我有一个splunk查询,我想用它过滤掉时间大于100或任何数字的日志Java 带条件的splunk正则表达式,java,regex,splunk,Java,Regex,Splunk,我有一个splunk查询,我想用它过滤掉时间大于100或任何数字的日志 2015-09-04 14:31:55.015 INFO : [org.perf4j.TimingLogger:426] - start[1441402314909] time[103] tag[getDetails] 2015-09-04 14:31:56.437 INFO : [org.perf4j.TimingLogger:426] - start[1441402316435] time[12] tag[getDeta
2015-09-04 14:31:55.015 INFO : [org.perf4j.TimingLogger:426] - start[1441402314909] time[103] tag[getDetails]
2015-09-04 14:31:56.437 INFO : [org.perf4j.TimingLogger:426] - start[1441402316435] time[12] tag[getDetails]
2015-09-04 14:31:57.654 INFO : [org.perf4j.TimingLogger:426] - start[1441402317653] time[20] tag[getDetails]
2015-09-04 14:31:58.721 INFO : [org.perf4j.TimingLogger:426] - start[1441402318720] time[10] tag[getDetails]
这是我的勇气正则表达式。这可能会从我的日志中过滤出4行以上的内容,但我无法进一步说明(大于)。尝试评估,但无法获得预期结果
sourcetype="abc" *|regex _raw=time\[(\d+)\]
如果要过滤掉的值大于或等于100,则检查3位数字:
sourcetype="abc" *|regex _raw=time\[(\d{3})\]
这样,只有100或更高的值才会匹配
编辑:如果您正在查找高于某个范围的数字(例如60
):
对于特定数字及以上(例如33+
):
要禁止带前导零的数字,请执行以下操作:
sourcetype="abc" *|regex _raw=time\[(33|[3-9][3-9]|[4-9]\d+|[1-9][0-9]\d+|[1-9]\d{2,})\]
我只是以100为例。我希望这是任何数字。请使用真实的例子,而不是一个与你的问题无关的。这是真实的例子,正如我在问题中提到的,它应该是100(任何数字)。不知道你为什么认为这不是真实的例子。
sourcetype="abc" *|regex _raw=time\[(33|[3-9][3-9]|[4-9]\d+|[1-9][0-9]\d+)\]
sourcetype="abc" *|regex _raw=time\[(33|[3-9][3-9]|[4-9]\d+|[1-9][0-9]\d+|[1-9]\d{2,})\]