Saltar al contenido principal
EntradaSalidaAlias

Descripción

El formato Regex analiza cada línea de los datos importados según la expresión regular proporcionada. Uso La expresión regular definida en la configuración format_regexp se aplica a cada línea de los datos importados. El número de subpatrones de la expresión regular debe ser igual al número de columnas del conjunto de datos importado. Las líneas de los datos importados deben estar separadas por el carácter de nueva línea '\n' o por una nueva línea de estilo DOS "\r\n". El contenido de cada subpatrón coincidente se analiza con el método del tipo de dato correspondiente, de acuerdo con la configuración format_regexp_escaping_rule. Si la expresión regular no coincide con la línea y format_regexp_skip_unmatched está establecido en 1, la línea se omite sin avisar. De lo contrario, se genera una excepción.

Ejemplo de uso

Considere el archivo 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
y la tabla imp_regex_table:
Query
CREATE TABLE imp_regex_table (id UInt32, array Array(UInt32), string String, date Date) ENGINE = Memory;
Insertaremos los datos del archivo mencionado anteriormente en la tabla de arriba mediante la siguiente consulta:
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;"
Ahora podemos SELECT los datos de la tabla para ver cómo el formato Regex interpretó los datos del archivo:
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 │
└────┴─────────┴────────┴────────────┘

Configuración del formato

Al trabajar con el formato Regexp, puede usar la siguiente configuración:
  • format_regexpString. Contiene una expresión regular en formato re2.
  • format_regexp_escaping_ruleString. Se admiten las siguientes reglas de escape:
    • CSV (de forma similar a CSV
    • JSON (de forma similar a JSONEachRow
    • Escaped (de forma similar a TSV
    • Quoted (de forma similar a Values
    • Raw (extrae los subpatrones completos, sin reglas de escape, de forma similar a TSVRaw
  • format_regexp_skip_unmatchedUInt8. Indica si se debe lanzar una excepción en caso de que la expresión format_regexp no coincida con los datos importados. Puede establecerse en 0 o 1.
Última modificación el 10 de junio de 2026