Passer au contenu principal
EntréeSortieAlias

Description

Le format Regex analyse chaque ligne des données importées selon l’expression régulière fournie. Utilisation L’expression régulière définie par le paramètre format_regexp est appliquée à chaque ligne des données importées. Le nombre de sous-motifs dans l’expression régulière doit être égal au nombre de colonnes du jeu de données importé. Les lignes des données importées doivent être séparées par le caractère de nouvelle ligne '\n' ou par un saut de ligne de style DOS "\r\n". Le contenu de chaque sous-motif correspondant est analysé selon la méthode du type de données correspondant, conformément au paramètre format_regexp_escaping_rule. Si l’expression régulière ne correspond pas à la ligne et que format_regexp_skip_unmatched est défini sur 1, la ligne est simplement ignorée. Sinon, une exception est levée.

Exemple d’utilisation

Prenons le fichier 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
et la table imp_regex_table :
Query
CREATE TABLE imp_regex_table (id UInt32, array Array(UInt32), string String, date Date) ENGINE = Memory;
Nous allons insérer dans la table ci-dessus les données du fichier mentionné plus haut à l’aide de la requête suivante :
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;"
Nous pouvons maintenant SELECT les données de la table pour voir comment le format Regex a interprété les données du fichier :
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 │
└────┴─────────┴────────┴────────────┘

Paramètres du format

Lorsque vous utilisez le format Regexp, vous pouvez utiliser les paramètres suivants :
  • format_regexpString. Contient une expression régulière au format re2.
  • format_regexp_escaping_ruleString. Les règles d’échappement suivantes sont prises en charge :
    • CSV (similaire à CSV
    • JSON (similaire à JSONEachRow
    • Escaped (similaire à TSV
    • Quoted (similaire à Values
    • Raw (extrait les sous-motifs dans leur intégralité, sans règle d’échappement, similaire à TSVRaw
  • format_regexp_skip_unmatchedUInt8. Définit s’il faut lever une exception lorsque l’expression format_regexp ne correspond pas aux données importées. Peut être défini sur 0 ou 1.
Dernière modification le 25 juin 2026