Tableau REGEXP_EXTRACT関数の完全ガイド|使い方・正規表現の基本・応用事例まで解説

Tableauで「文字列から一部を取り出す」処理をしたいときに役立つのが REGEXP_EXTRACT 関数です。正規表現にマッチする文字列の一部をグループ抽出できるこの関数は、たとえば都道府県名の接尾辞を見て分類したり、複数の項目が詰まったフィールドから必要な情報だけを切り出すときに活躍します。本記事ではその基本構文から、REGEXP_EXTRACT_NTH の応用、さらによくある失敗パターンやFAQまで、検索ニーズに応じて丁寧に解説します。

目次

REGEXP_EXTRACT関数とは?

REGEXP_EXTRACT 関数は、以下3つの機能を持つ文字列関数です:

  1. 正規表現パターンと一致するかどうかを判定する
  2. 一致していれば “グループ化 (括弧)” された部分だけを抽出する
  3. 一致しなければ NULL を返す
REGEXP_EXTRACT([対象文字列], "(正規表現パターン)")

グループ化とは、正規表現の中で () を使って指定された範囲のことです。ここにマッチした部分だけが返されます。

基本例:そのままの値を返す(全文一致)

REGEXP_EXTRACT([都道府県], "(.*)")

この式では「何でもいい文字 . を0回以上繰り返す *」というパターンに一致し、文字列全体を1グループとして返します。結果として、[都道府県]の値がそのまま返ってきます。

応用例:条件付きで文字の一部を取り出す

例1:最後が「都」で終わるとき、先頭1文字を抽出

REGEXP_EXTRACT([都道府県], "(^.).*都$")
  • ^. は先頭1文字を意味します。
  • .*都$ は任意の文字の後に「都」で終わるパターン。
  • () で囲った ^. 部分だけが返されます。
入力出力
東京都
大阪府NULL

REGEXP_EXTRACT_NTH関数:複数グループから取り出す

例2:2つ目のグループを取得する

REGEXP_EXTRACT_NTH([都道府県], "(^.)(.)(都)$", 2)

この式では:

  • (^.):1文字目(グループ1)
  • (.):2文字目(グループ2)
  • (都):末尾(グループ3)

補足:「(^.)」は行頭の1文字、「(.)」は2文字目、「(都)」は文字列の末尾が”都”である場合のみ一致します。

2 を指定しているので、「京」のような 2番目の文字が返されます。

入力出力
東京都
福井県NULL

実務ユースケース

例3:都道府県の末尾から分類(都・道・府・県)

REGEXP_EXTRACT([都道府県], "(都|道|府|県)$")

末尾の都道府県種別だけを抜き出して分類やフィルタに使えます。

例4:商品コードからカテゴリを抽出

REGEXP_EXTRACT([商品コード], "^(A|B|C)[0-9]{3}")
  • A001, B456 のようなコードの先頭1文字カテゴリだけを取得。

例5:カスタム項目からメールアドレス部分だけを抜く

REGEXP_EXTRACT([テキスト], "([\w._%+-]+@[\w.-]+\\.[a-zA-Z]{2,})")
  • 自由入力されたテキストからメールアドレス形式だけを抽出できます。

正規表現構文のポイント(初心者向け)

パターン意味
.任意の1文字
*0回以上の繰り返し
^行頭
$行末
()グループ化
``
\d数字

よくあるミスと対策

Q. 値が返ってこない/NULLになる

A. 正規表現に一致していない、もしくは () で囲っていないと返り値が NULL になります。

Q. グループが複数あるのに1つ目しか返ってこない

A. REGEXP_EXTRACT は最初のグループだけ返します。2つ目以降が必要なときは REGEXP_EXTRACT_NTH を使ってください。

Q. 正規表現がよくわからない

A. まずは .*(なんでも)や ^(先頭)・$(末尾)など、基本の記号から使ってみるのがオススメです。

まとめ

  • REGEXP_EXTRACT正規表現にマッチした部分から1グループを返す
  • REGEXP_EXTRACT_NTH を使えば 2番目以降のグループも取得可能
  • 実務ではメール抽出・商品コード処理・都道府県の分類などに活用
  • 正規表現のグループ化 () を忘れると NULL になるので注意

検索されやすい regexp_extract tableau, regexp_extract 使い方, tableau 正規表現 に正面から対応する構成になっています。

Comment

コメントする

目次