Перейти к основному содержимому
Перейти к основному содержимому

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_regexpString. Содержит регулярное выражение в формате re2.

  • format_regexp_escaping_ruleString. Поддерживаются следующие правила экранирования:

    • CSV (аналогично CSV)
    • JSON (аналогично JSONEachRow)
    • Escaped (аналогично TSV)
    • Quoted (аналогично Values)
    • Raw (извлекает подшаблоны полностью, без правил экранирования, аналогично TSVRaw)
  • format_regexp_skip_unmatchedUInt8. Определяет необходимость выбрасывания исключения в случае, если выражение format_regexp не совпадает с импортированными данными. Может быть установлено в 0 или 1.