rex
Описание
Позволяет получить значения из строки с помощью регулярного выражения.
Синтаксис
... | rex field = <field> "(?<new_field><reg-expression>*)" [max_match=<int>]
Обязательные аргументы
Параметр | Синтаксис | Описание |
---|---|---|
<field> | <field> | Поле, по которому происходит поиск по регулярному выражению. |
<reg-expression> | <string> | Регулярное выражение, по которому происходит поиск значения. |
<new_field> | <string> | Новое поле события, принимающее значение, найденного по регулярному выражению. |
Теги для new_field
Параметр <new_field>
поддерживает теги:
Параметр | Синтаксис | Описание |
---|---|---|
_KEY_ | _KEY_<string> | Тег указывает на создание нового поля с названием из найденного значения по регулярному выражению. |
_VAL_ | _VAL_<string> | Тег указывает на сопоставление найденного значения по регулярному выражению и присваивание к полю, созданного с помощью тега_KEY_ . |
Опциональные аргументы
Параметр | Синтаксис | По умолчанию | Описание |
---|---|---|---|
max_match | max_match=<int> | 1 | Максимальное количество возвращаемых значений. |
Примеры запросов
Пример 1
В примере user имеет значение "127.0.0.1:5555, 192.168.0.1:2802"
, поле ip примет значение "127.0.0.1"
, поле port примет значение "5555"
.
...
| rex field = user "(?<ip>[0-9.]+):(?<port>[0-9]*)"
Пример 2
В примере memberOf имеет значение "CN=Иванов Иван, OU=Сотрудники, DC=dc"
, поле keysField примет значение [“CN”, “OU”, “DC”]
, поле valuesField примет значение [“Иванов Иван”, “Сотрудники”, “dc”]
.
...
| rex field = memberOf "(?<keysField>[a-zA-Z0-9_ ]*)=(?<valuesField>[а-яА-Яa-zA-Z_ ]*)" max_match=0
Пример 3
В примере memberOf имеет значение "CN=Иванов Иван, OU=Сотрудники, DC=dc"
, поле CN примет значение "Иванов Иван"
.
...
| rex field = memberOf "(?<_KEY_keyField>[a-zA-Z0-9_ ]*)=(?<_VAL_valueField>([а-яА-Яa-zA-Z_ ])*)" max_match=1