Pular para o conteúdo principal
EntradaSaídaAlias

Descrição

O formato Regex processa cada linha dos dados importados de acordo com a expressão regular fornecida. Uso A expressão regular da configuração format_regexp é aplicada a cada linha dos dados importados. O número de subpadrões na expressão regular deve ser igual ao número de colunas no conjunto de dados importado. As linhas dos dados importados devem ser separadas pelo caractere de nova linha '\n' ou por uma nova linha no estilo DOS "\r\n". O conteúdo de cada subpadrão correspondente é processado com o método do tipo de dado correspondente, de acordo com a configuração format_regexp_escaping_rule. Se a expressão regular não corresponder à linha e format_regexp_skip_unmatched estiver definida como 1, a linha será ignorada silenciosamente. Caso contrário, uma exceção será lançada.

Exemplo de uso

Considere o arquivo data.tsv:
data.tsv
id: 1 array: [1,2,3] string: str1 date: 2020-01-01
id: 2 array: [1,2,3] string: str2 date: 2020-01-02
id: 3 array: [1,2,3] string: str3 date: 2020-01-03
e a tabela imp_regex_table:
Query
CREATE TABLE imp_regex_table (id UInt32, array Array(UInt32), string String, date Date) ENGINE = Memory;
Vamos inserir na tabela acima os dados do arquivo mencionado anteriormente usando a consulta a seguir:
Query
$ cat data.tsv | clickhouse-client  --query "INSERT INTO imp_regex_table SETTINGS format_regexp='id: (.+?) array: (.+?) string: (.+?) date: (.+?)', format_regexp_escaping_rule='Escaped', format_regexp_skip_unmatched=0 FORMAT Regexp;"
Agora podemos fazer SELECT dos dados da tabela para ver como o formato Regex interpretou os dados do arquivo:
Query
SELECT * FROM imp_regex_table;
Response
┌─id─┬─array───┬─string─┬───────date─┐
│  1 │ [1,2,3] │ str1   │ 2020-01-01 │
│  2 │ [1,2,3] │ str2   │ 2020-01-02 │
│  3 │ [1,2,3] │ str3   │ 2020-01-03 │
└────┴─────────┴────────┴────────────┘

Configurações de formato

Ao trabalhar com o formato Regexp, você pode usar as seguintes configurações:
  • format_regexpString. Contém uma expressão regular no formato re2.
  • format_regexp_escaping_ruleString. Há suporte para as seguintes regras de escape:
    • CSV (de forma semelhante a CSV
    • JSON (de forma semelhante a JSONEachRow
    • Escaped (de forma semelhante a TSV
    • Quoted (de forma semelhante a Values
    • Raw (extrai os subpadrões como um todo, sem regras de escape, de forma semelhante a TSVRaw
  • format_regexp_skip_unmatchedUInt8. Define se uma exceção deve ser lançada caso a expressão format_regexp não corresponda aos dados importados. Pode ser definido como 0 ou 1.
Última modificação em 10 de junho de 2026