REGEX_EXTRACT_FIRST
All functions > STRING > REGEX_EXTRACT_FIRST
Returns the first substring matching a regular expression pattern, optionally extracting a specific capture group.
Signatures
Returns: The matched substring, or NULL if no match
REGEX_EXTRACT_FIRST(string: VARCHAR, pattern: VARCHAR, [group_number: BIGINT]) → VARCHAR sql
| Parameter | Type | Required | Description |
|---|---|---|---|
string | VARCHAR | Yes | String to search in |
pattern | VARCHAR | Yes | Regular expression pattern (use capture groups for extraction) |
group_number | BIGINT | No | Capture group to return (0 = full match, 1 = first group, etc.). Defaults to 0 |
Notes
- Group 0 (default) returns the entire match
- Group 1+ returns the corresponding capture group
- Returns NULL if the pattern does not match
- Only the first match is returned
Examples
FeatureQL
SELECT
f1 := REGEX_EXTRACT_FIRST('abc123def', '[0-9]+'), -- Extract digits
f2 := REGEX_EXTRACT_FIRST('2024-01-15', '(\d{4})-(\d{2})-(\d{2})', 1), -- Extract year
f3 := REGEX_EXTRACT_FIRST('2024-01-15', '(\d{4})-(\d{2})-(\d{2})', 2), -- Extract month
f4 := REGEX_EXTRACT_FIRST('2024-01-15', '(\d{4})-(\d{2})-(\d{2})', 3), -- Extract day
f5 := REGEX_EXTRACT_FIRST('no match here', '[0-9]+') -- No match returns empty
;Result
| f1 VARCHAR | f2 VARCHAR | f3 VARCHAR | f4 VARCHAR | f5 VARCHAR |
|---|---|---|---|---|
| 123 | 2024 | 01 | 15 | (empty) |
On this page