Я пытаюсь отфильтровать уровень журнала для некоторых файлов журнала, которые у меня есть. Моя проблема в том, что Grok, похоже, не может обработать \w
, находящийся в начале фильтра.
Я использую этот сайт для проверки регулярного выражения: https://regexr.com/
Я использую этот сайт для тестирования фильтра Грока: http://grokdebug.herokuapp.com/
Вот мой пример строки журнала: 2020-04-07T13: 08: 19.261-0700 | INFO |||
Вот что я пытаюсь запустить:
(?<timestamp>.+?(?=\|))(?<loglevel>\w+?(?= \|))
Это говорит, что МАТЧЕЙ не найдено. Если я заменю "\ w" на "." он сразу находит строку, но оставляет не-буквенный символ:
{
"timestamp": [
[
"2020-04-07T13:08:19.261-0700"
]
],
"loglevel": [
[
"|INFO"
]
]
}
Это должно непременно работать. Это просто говорит совпадение \ W символов. Мне явно не хватает знания регулярных выражений здесь. Кто-нибудь знает, что происходит, и готов бросить несколько указателей на моем пути?