BOOLEAN value, specifically false if the text doesn’t match and true if it does match. This is a RE2 regular expression.
Syntax
Parameters
| Parameter | Description | Supported input types |
|---|---|---|
<expression> | The text searched for a match using the RE2 pattern. | TEXT |
<pattern> | An RE2 regular expression pattern used to search for a match in the <expression>. The pattern can be a constant or any TEXT expression, including a column reference. Non-constant patterns are supported only when no <flag> is specified. | RE2 regular expression |
<flag> | Optional. Flags allow additional controls over the regular’s expression matching behavior. If using multiple flags, you can include them in the same single-quote block without any separator character. Flags must be constant. To use flags with a non-constant pattern, embed them in the pattern itself, for example '(?i)' || pattern_column. | Firebolt supports the following RE2 flags to override default matching behavior. With - in front you can disable the flag.* i - Specifies case-insensitive matching.* m - Specifies multi-line mode. In this mode, ^ and $ characters in the regex match the beginning and end of line.* s - (Enabled per default) Specifies that the . metacharacter in regex matches the newline character in addition to any character in .* U - Specifies non-greedy mode. In this mode, the meaning of the metacharacters * and + in regex <pattern> are swapped with *? and +?, respectively. See the examples using flags below for the difference in how results are returned. |
Return Type
BOOLEAN
Examples
| regexp_like boolean |
|---|
| False |
Rows: 1Execution time: 5.59ms
| regexp_like boolean |
|---|
| True |
Rows: 1Execution time: 15.29ms
Example using a non-constant pattern
The pattern doesn’t have to be a literal. You can match each row against a pattern stored in another column. For example, given alogs table with a message column and a patterns table with a pattern column, return the log messages that match any of the patterns:
(?flag) syntax. For example, the following query performs case-insensitive matching:
Example using flags
Thei flag causes the regular expression to be case-insensitive. Without this flag, this query would return false as no match is found.
| regexp_like boolean |
|---|
| True |
Rows: 1Execution time: 7.11ms