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.