Использование команды Splunk rex для извлечения поля между 2 словами - PullRequest
0 голосов
/ 29 марта 2019

Помогите извлечь \ создать новое поле между двумя фиксированными словами, одно из которых начинается с !

Пример:

!CASH OUT          $50.00!                        !TOTAL AUD    $61.80! 

!CASH OUT и !TOTAL исправленыно величина значения между ($22.00!) изменяется.Я хотел бы создать поле, чтобы отфильтровать события по сумме обналичивания и т. Д.Я бы только хотел, чтобы сумма в долларах была полем без ! в конце.

Я пробовал поиск ниже, но он создает поле вывода со всеми данными после !CASH OUT и невырезать поле раньше !TOTAL

"CASH OUT" "!TOTAL" | rex "CASH OUT (?.*)!TOTAL"

search | "CASH OUT" "!TOTAL" | rex "CASH OUT (?.*)!TOTAL"

field = $50.00

1 Ответ

1 голос
/ 29 марта 2019

rex "(?<total>\$[^!]+)"

В группу захвата, которая называется итоговой, запишите все, что начинается со знака доллара, а затем все, что недоступно, восклицательный знак.

rex "\$(?<total>\[^!]+)"

Если вы не хотите включать знак доллара в захваченное поле

...