REQ:协助 Splunk - Rex 查询

REQ: Assistance with Splunk - Rex Query

我在 rex 查询中遇到了一些问题,其中单个数字日期呈现错误结果,但双数字日期提供正确结果。

这些是我正在查询的日志条目:

Mar  7 14:24:29 10.52.176.215 Mar  7 12:24:29 963568 - Melbourne details-cable-issue - vdvfvfv

Mar 20 09:52:55 10.52.176.215 Mar 20 07:52:55 963569 - Brisbane cable-issue

这是查询:

^(?:[^ \n]* ){7}(?P<extension>[^ ]+)[^\-\n]*\-\s+(?P<location>\w+)

对于 3 月 7 日的条目,我的查询为我提供了组扩展“7”,而我的 3 月 20 日条目为我提供了正确的组扩展“963569”。

有人可以阐明我的查询以确认一位数和两位数的日期吗? #7 对 20

谢谢大家:)

第一个字符串中有几个连续的 space(它们看起来像填充 space),并且由于您只匹配 (?:[^ \n]* ) 中的一个 space,您得到不匹配。

我建议在第一组中匹配 1 个或多个 space 并调整限制量词:

^(?:[^ \n]* +){5}(?P<extension>[^ ]+)[^-\n]*-\s+(?P<location>\w+)
            ^  ^

regex demo