REGEXP_MATCH

Returns true if the target value exactly matches the regular expression pattern.

Sample usage

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

Syntax

REGEXP_MATCH(X, regular_expression)

 

Parameters

  • X - a field or expression to evaluate.
  • regular_expression - a regular expression.

Returns

The REGEXP_MATCH function returns boolean values.

Notes

REGEXP_MATCH attempts to match the entire string contained in field_expression. For example, if field_expression is "ABC123":

REGEXP_MATCH(field_expression, 'A') returns false.
REGEXP_MATCH(field_expression, 'A.*') returns true.

Data Studio uses the RE2 expression syntax. For more details, see Regular Expressions in Google Data Studio.

Note that patterns containing escape characters such as \ may require additional escaping in Data Studio, which can be avoided with the use of raw string literals.

Examples

Match if name begins with a letter:

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

Create arbitrary regions using CASE statements:

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

Use case-insensitive matching and logical operators:

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

  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

Negative match using the NOT operator:

CASE 
   WHEN REGEXP_MATCH(dimension1, 'A') AND NOT REGEXP_MATCH(dimension1, 'B') 
   THEN 'C' 
   ELSE 'D' 
END

 

Was this helpful?
How can we improve it?
Search
Clear search
Close search
Google apps
Main menu
Search Help Center
true
102097
false