Объединение

Выражение объединения состоит из нескольких выражений (операндов), разделенных оператором объединения ??. Логика объединения позволяет выбирать из списка выражений первое значение, которое соответствует заданному условию.

Оператор ?? полезен при обработке ошибок, так как позволяет задавать альтернативные способы обработки данных.

Синтаксис

Список принятых обозначений

В данном разделе при описании выражений приняты следующие обозначения:

  • Элементы выражений разделены тильдой.

  • Круглые скобки служат для группировки элементов выражения.

  • Если в выражении используется литерал скобок или других символов, они заключаются в кавычки: "(". "NEWLINE" обозначает перевод строки.

  • Квантификаторы после элементов и групп обозначают количество повторений:

    • ? — элемент необязателен, может отсутствовать в выражении;

    • + — элемент обязателен и может повторяться в выражении несколько раз;

    • * — элемент может отсутствовать или повторяться несколько раз.

expression ~ (operator ~ expression)+
Элемент Описание

expression

Любое выражение.

operator

Оператор. Разделяет два или более выражения.

Используйте VRL-песочницу, чтобы проверить работу программы.

Пример объединения при ошибке

Исходный код
parse_syslog("не Syslog") ?? parse_common_log("не Common Log Format") ?? "malformed"
Результат
malformed

Была ли полезна эта страница?

Обратная связь