REGEX_EXTRACT_ALL
All functions > STRING > REGEX_EXTRACT_ALL
Returns an array of all substrings matching a regular expression pattern.
Signatures
Returns: Array of all matching substrings
REGEX_EXTRACT_ALL(string: VARCHAR, pattern: VARCHAR, [group_number: BIGINT]) → ARRAYVARCHAR sql
| Parameter | Type | Required | Description |
|---|---|---|---|
string | VARCHAR | Yes | String to search in |
pattern | VARCHAR | Yes | Regular expression pattern |
group_number | BIGINT | No | Capture group to return (0 = full match, 1 = first group, etc.). Defaults to 0 |
Notes
- Returns all non-overlapping matches in order
- Group 0 (default) returns the entire match for each occurrence
- Group 1+ returns the corresponding capture group for each occurrence
- Returns an empty array if no matches are found
Examples
FeatureQL
SELECT
f1 := REGEX_EXTRACT_ALL('abc123def456', '[0-9]+'), -- Extract all digit groups
f2 := REGEX_EXTRACT_ALL('cat bat hat', '[a-z]at'), -- Extract all matches
f3 := REGEX_EXTRACT_ALL('a1b2c3', '([a-z])([0-9])', 1), -- Extract first capture group
f4 := REGEX_EXTRACT_ALL('no match', '[0-9]+') -- No matches returns empty array
;Result
| f1 ARRAY | f2 ARRAY | f3 ARRAY | f4 ARRAY |
|---|---|---|---|
| [123, 456] | [cat, bat, hat] | [a, b, c] | [] |
On this page