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
| Parameter | Description | Supported 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