Ошибка совпадения с регулярным выражением - PullRequest
0 голосов
/ 07 июля 2019

Я не могу сопоставить шаблон в logstash grok.Вот мои данные:

some words key[value]some words in between key[value] key[value]....some more words

Я хочу сопоставить шаблон

key[value] key[value]

то есть два последовательных значения ключа с пробелом между

Я пробовал с (?=\w+[.*])\s(?=\w+[.*]), но это не работает.

Я получаю всю строку с самым первым ключом [значение], а не с ключом [значение] ключом [значение].

Ответы [ 2 ]

1 голос
/ 07 июля 2019
\S+\[[^\[]+\]

Означает, что любой непробельный символ следует за [, за ним следует любой символ, кроме [, который повторяется более одного раза и следует за ]

Демо

0 голосов
/ 07 июля 2019

Я предполагаю, что положительный прогноз не нужен, и это выражение может работать:

[A-Za-z0-9]+\[[A-Za-z0-9]+\]\s[A-Za-z0-9]+\[[A-Za-z0-9]+\]

DEMO 1

Или:

(?<=[^a-z])\s(\S+\[[^]]+\])

ДЕМО 2

...