REGEXP_EXTRACT_ALL

Matches the regular expression on the input string. Returns the escape groups if any exists or the original string if none exists.

Syntax

REGEXP_EXTRACT_ALL(first, second)

Arguments

NameType

first

string

second

string

Returns

Returns the substrings(s) matched by the regular expression

Examples

firstsecondOutput

'abcdefabc'

'abc'

[abc, abc]

'1a2b3'

'\d+'

[1, 2, 3]

'Word'

'^((((((((((..)?.)?.)?.)?.)?.)?.)?.)?.)?.)?'

[Word, Wor, Wo, W]

'abab'

'abc'

null

null::string

'abc'

null

'abc'

''

[, , , ]

array['ab1', 'a2a', '345']

'\d'

[1, 2, 3, 4, 5]

array['ab1', 'a2a', '345']

array['\d', 'a']

[1, a, 2, a, a, 3, 4, 5]

'abc'

null::string

null

Transformation job example

SQL

CREATE JOB function_operator_example
    ADD_MISSING_COLUMNS = true
AS INSERT INTO default_glue_catalog.upsolver_samples.orders_transformed_data 
  MAP_COLUMNS_BY_NAME
    SELECT first, second,
        REGEXP_EXTRACT_ALL(first, second) AS Output
    FROM default_glue_catalog.upsolver_samples.orders_raw_data
    LET first = 'abcdefabc',
        second = 'abc'
    WHERE $commit_time BETWEEN run_start_time() AND run_end_time()
    LIMIT 1;

Query result

firstsecondOutput

'abcdefabc'

'abc'

[abc, abc]

Last updated