Использование команды Splunk rex для извлечения поля из двух слов

#splunk #splunk-query #splunk-formula

#splunk #splunk-запрос #splunk-формула

Вопрос:

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

Пример:

 !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:

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

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

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

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