Regexp
| Вход | Выход | Псевдоним |
|---|---|---|
| ✔ | ✗ |
Описание
Формат Regex разбирает каждую строку импортируемых данных в соответствии с заданным регулярным выражением.
Использование
Регулярное выражение из настройки format_regexp применяется к каждой строке импортируемых данных. Количество подвыражений (групп) в регулярном выражении должно быть равно количеству столбцов в импортируемом наборе данных.
Строки импортируемых данных должны быть разделены символом новой строки '\n' или переводом строки в стиле DOS "\r\n".
Содержимое каждого совпавшего подвыражения разбирается способом, соответствующим его типу данных, в соответствии с настройкой format_regexp_escaping_rule.
Если регулярное выражение не соответствует строке и параметр format_regexp_skip_unmatched равен 1, строка просто пропускается без ошибки. В противном случае генерируется исключение.
Пример использования
Рассмотрим файл data.tsv:
и таблица imp_regex_table:
Мы вставим данные из вышеупомянутого файла в таблицу, созданную выше, с помощью следующего запроса:
Теперь мы можем выполнить запрос SELECT к таблице, чтобы посмотреть, как формат Regex разобрал данные из файла:
Настройки формата
При работе с форматом Regexp можно использовать следующие настройки:
-
format_regexp— String. Содержит регулярное выражение в синтаксисе re2. -
format_regexp_escaping_rule— String. Поддерживаются следующие правила экранирования:- CSV (аналогично CSV
- JSON (аналогично JSONEachRow
- Escaped (аналогично TSV
- Quoted (аналогично Values
- Raw (извлекает подвыражения целиком, без правил экранирования, аналогично TSVRaw
-
format_regexp_skip_unmatched— UInt8. Определяет, нужно ли выбрасывать исключение, если выражениеformat_regexpне соответствует импортируемым данным. Может быть0или1.