跳到主要内容
跳到主要内容

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 表达式与导入数据不匹配的情况下是否需要抛出异常。可以设置为 01