REGEXP_LIKE_ANY
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]+']);
Returns: The function returns TRUE
because the string '123'
matches the second pattern.
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]+' ]);
Returns: The function returns FALSE
because the string does not match any of the regular expressions in the array.
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]);
The following code example checks whether the string 123
matches either the [1-9]+
expression, which specifies one or more digits, or the NULL
value, in the array.
SELECT
REGEXP_LIKE_ANY('123', ['[1-9]+', NULL]);
Returns: 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. If a match is not found, the function returns FALSE
, even if there is a NULL
element in the array.