Skip to main content
Checks whether a given string matches any regular expression pattern from a specified list of patterns. Returns FALSE if it doesn’t match, or TRUE if it matches.

Syntax

REGEXP_LIKE_ANY(<expression>, ['<pattern1>', '<pattern2>', ...])

Parameters

ParameterDescriptionSupported input types
<expression>The input string or column to be evaluated against the regular expression patterns.TEXT
<pattern>A list of regular expression patterns to match against the expression.ARRAY[TEXT] where each element complies to the RE2 regular expression syntax

Return Type

BOOLEAN

Examples

The following code example checks whether the string 123 matches either the [a-z] expression, which specifies any lowercase letter, or the [1-9]+ expression, which specifies one or more digits:
SELECT REGEXP_LIKE_ANY('123', ['[a-z]', '[1-9]+']);
regexp_like_any boolean
True

Rows: 1Execution time: 5.37ms

The following code example checks whether the string !@#$%^&*() matches either the \d+ expression, which specifies one or more digits, or the [a-z|A-Z]+ expression, which specifies one or more lowercase or uppercase characters:
SELECT REGEXP_LIKE_ANY('!@#$%^&*()', ['\d+', '[a-z|A-Z]+']);
regexp_like_any boolean
False

Rows: 1Execution time: 6.33ms

The following code example checks if the string a matches either the [1-9]+ expression, which specifies one or more digits, or a NULL value:
SELECT REGEXP_LIKE_ANY('a', ['[1-9]+', NULL]);
regexp_like_any boolean null
NULL

Rows: 1Execution time: 5.06ms

The following code example checks whether the string 123 matches either the [1-9]+ expression or NULL. The function returns TRUE because the string matches the first regular expression. The NULL element does not affect the result as long as a match is found.
SELECT REGEXP_LIKE_ANY('123', ['[1-9]+', NULL]);
regexp_like_any boolean null
True

Rows: 1Execution time: 6.09ms