REGEXP_MATCH

REGEXP_MATCH 関数は、Google RE2 正規表現を使ってフィールドまたは式を評価します。

使用例

REGEXP_MATCH(name, '[a-zA-Z].*')

構文

REGEXP_MATCH(X, regular_expression)

 

パラメータ:

  • X - 評価するフィールドまたは式。
  • regular_expression - 正規表現。

備考

  • REGEXP_MATCH は、RE2 スタイルの正規表現を使用します。
  • REGEXP_MATCH 関数は、boolean 値を返します。
  • REGEXP_MATCH は、field_expression に含まれている文字列全体に一致するかどうかを確認します。たとえば、field_expression が「ABC123」の場合は次のようになります。

    REGEXP_MATCH(field_expression, 'A') は false を返します。
    REGEXP_MATCH(field_expression, 'A.*') は true を返します。

  • 正規表現では、デフォルトで大文字と小文字が区別されます。(?i) フラグを使って、大文字と小文字を区別せずに評価することもできます。

    REGEXP_MATCH(field_expression, '(?i)a.*') は、「abc123」と「ABC123」の両方に一致します。

  • 2 つのバックスラッシュ文字で特殊文字をエスケープします。

    REGEXP_MATCH(MyField, "foo\\.bar") はリテラルのピリオド文字と一致します。

文字で始まる名前に一致する:

REGEXP_MATCH(name, '[a-zA-Z].*')

 

CASE 文と組み合わせて、国の値から販売地域を作成する:

CASE WHEN REGEXP_MATCH(country, "(USA|Canada|Mexico)") THEN "North America" WHEN     REGEXP_MATCH(country, "(England|France)" ) THEN "Europe" ELSE "Other" END

広告キャンペーンを分類するには、大文字と小文字を区別しない演算子と論理演算子を使用します。

CASE
  WHEN REGEXP_MATCH(Campaign, "((?i).*Recipies).*") OR REGEXP_MATCH(Campaign, "((?i).*Cooking).*")
  THEN "Recipies"

  WHEN REGEXP_MATCH(Campaign, "((?i).*Grilling).*")
  THEN "Seasonal"

  WHEN REGEXP_MATCH(Campaign, "((?i).*Phone).*") OR REGEXP_MATCH(Campaign, "((?i).*Tablet).*") OR     REGEXP_MATCH(Campaign, "((?i).*Console).*") OR REGEXP_MATCH(Campaign, "((?i).*Laptop).*") OR       REGEXP_MATCH(Campaign, "((?i).*Wearable).*")

  THEN "Electronics" 

  ELSE "Other" 
END
  

REGEXP_MATCH は、CASE とともに使用する場合、NOT 演算子をサポートします。

CASE WHEN REGEXP_MATCH(dimension1, 'A') AND NOT REGEXP_MATCH(dimension1, 'B') THEN 'C' ELSE 'D' END
この情報は役に立ちましたか?
改善できる点がありましたらお聞かせください。