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
.