メインコンテンツまでスキップ
メインコンテンツまでスキップ

Regexp

InputOutputAlias

説明

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_regexpStringre2 フォーマットの正規表現を含みます。

  • format_regexp_escaping_ruleString。次のエスケープルールがサポートされています:

    • CSV(CSVに類似)
    • JSON(JSONEachRowに類似)
    • Escaped(TSVに類似)
    • Quoted(Valuesに類似)
    • Raw(サブパターンをまるごと抽出し、エスケープルールなし、TSVRawに類似)
  • format_regexp_skip_unmatchedUInt8format_regexp の式がインポートされたデータに一致しない場合に例外をスローする必要性を定義します。 0 または 1 に設定できます。