REQ: Помощь с Splunk - Rex Query - PullRequest
       36

REQ: Помощь с Splunk - Rex Query

2 голосов
/ 25 марта 2019

У меня возникли некоторые проблемы с запросом рекс, когда однозначная дата отображает неверный результат, а двузначная дата дает правильный результат.

Вот записи журнала, которые я запрашиваю:

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+)

Для записи 7 марта мой запрос дает мне расширение группы "7", в то время как моя запись 20 марта дает мне расширение группы "963569", что является правильным.

Может ли кто-нибудь пролить свет на мой запрос, чтобы подтвердить однозначную и двузначную дату? # 7 против 20

Спасибо всем:)

1 Ответ

0 голосов
/ 25 марта 2019

В первой строке есть несколько последовательных пробелов (они выглядят как пробелы), и, поскольку вы соответствуете только одному пробелу в (?:[^ \n]* ), вы получаете несоответствия.

Я предлагаю сопоставить 1 или более пробелов в этой первой группе и настроить ограничивающий квантификатор:

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

См. Демоверсию regex

...