REGEXP_MATCHは正規表現と一致しているかどうかを判定してくれる関数です。
その他の関数
正規表現のパターンが置換文字列に置き換えられている特定の文字列のコピーを返します。この関数はテキスト ファイル、Hadoop Hive、Google BigQuery、PostgreSQL、Tableau…
目次
REGEXP_MATCH関数とは?
REGEXP_MATCH関数には3つの機能があります。
- 指定値の中に正規表現に一致する値があるかどうかを判定
- 一致した値があればTRUEを返す
- 一致したものがなければFALSEを返す
REGEXP_MATCH関数の書式
REGEXP_MATCH関数の書式
REGEXP_MATCH([指定値],正規表現)
正規表現は下記を参考にしてみてください。
世界一わかりやすい正規表現入門
いきなりですが、正規表現とはいろんな文字を1つのルールに落とし込んだものです。例えば福井県を文字であらわすとき、福井県、ふくいけん、フクイケン、FUKUIKENなどな…
REGEXP_MATCHの使い道
私がよく使う場面としては、CONTAINS()の代わりとしててです。
↓のような運用って結構ありませんか?
IF CONTAINS([判別項目],"検索文字")
OR CONTAINS([判別項目],"検索文字2")
OR CONTAINS([判別項目],"検索文字3")
THEN "検索OK"
ELSE "その他"
END
特定文字が含まれているかどうかを判定する場合ですね。
上記みたいに3パターンぐらいならいいですが、これが10個20個といくと管理も大変です。
そんな時にREGEXP_MATCHは便利です。
置き換えてみると
IF
REGEXP_MATCH([判別項目],"検索文字|検索文字2|検索文字3")
THEN "検索OK"
ELSE "その他"
END
シュッとして見やすいです。
完全一致もできる
↓みたく、先頭と終端を固定すればOKです。
IF
REGEXP_MATCH([判別項目],"^検索文字$|^検索文字2$|^検索文字3$")
THEN "検索OK"
ELSE "その他"
END
よく使うパターン
アルファベットを含むかどうか
REGEXP_MATCH([判別項目],"[A-Za-z]")
REGEXP_MATCH([判別項目],"[A-z]")
数字を含むかどうか
REGEXP_MATCH([判別項目],"[0-9]")
特定の文字から始まるかどうか
特定の文字で始まるかどうか
REGEXP_MATCH([判別項目],"^あ")
↑は”あ”から始まる文字です。
特定の文字で始まり特定の文字で終わる
REGEXP_MATCH([判別項目],"^あ.*お$")
“あ”から始まって”お”で終わる文字列がTRUEとなります。
おわり
もっと良い使い方、おかしい点、アドバイスなどあれば気軽にコメントください!
福井AI/データサイエンス協会
読んでくれてありがとうございます!!
【Tableau】使用できる関数の解説一覧
Tableau関数の解説サイトマップです!自分用備忘録&学習用に作成しました。随時、加筆更新していきます。もっと良い使い方、おかしい点、アドバイスなどあれば気軽にコ…
Comment