get_regex

Description

Returns a string that matches the given regular expression if a match exists.

There are two optional parameters: a capture group parameter to specify which group to capture and a string parameter to specify flags:

  • c - Enables case-sensitive matching (default.)

  • i - Enables case-insensitive matching.

  • m - Enables multi-line mode (i.e. meta-characters ^ and $ match the beginning and end of any line of the input string.) By default, multi-line mode is disabled (i.e. ^ and $ match the beginning and end of the entire input string.)

  • s - Enables the POSIX wildcard character . to match \n (newline.) By default, . does not match \n.

For more about regular expression syntax, see POSIX extended regular expressions.

get_regex returns null for non-matching regexes, including an empty regular expression "", for all valid inputs. However, it returns the empty string "" for the empty group regular expression "()" for all valid inputs except null.

get_regex returns null in case of null or invalid arguments, or any other error.

Return type

string

Domain

This is a scalar function (calculates a single output value for a single input row.)

Categories

Usage

get_regex(input_string, pattern, [ group ], [ flags ])

Argument

Type

Optional

Repeatable

Restrictions

input_string

variant

no

no

none

pattern

regex

no

no

constant

group

int64

yes

no

constant

flags

string

yes

no

constant

Examples

filter get_regex(log, /er*or/) = 'error'

Filter rows from the input column log where the regex capture matches ‘error’.