String
DuckDB
REGEXP_EXTRACT
Mengekstrak bagian string yang cocok dengan regular expression. Mengembalikan match pertama atau capture group tertentu.
Tipe hasil:
VARCHARDiperbarui: 6 Jan 2026Syntax
SQL
REGEXP_EXTRACT(string, pattern [, group])Parameter
stringVARCHARwajib
String yang akan diproses
patternVARCHARwajib
Regular expression pattern dengan optional capture groups
groupINTEGERopsional
Index capture group (0=seluruh match, 1=group pertama). Default 0
Contoh Penggunaan
Extract Email Domain
SQL
1 SELECT 2 email, 3 REGEXP_EXTRACT(email, '@(.+)$', 1) as domain 4 FROM users;
Mengambil domain dari alamat email menggunakan capture group.
Hasil
| domain | |
|---|---|
| budi@gmail.com | gmail.com |
| ani@company.co.id | company.co.id |
Extract Angka dari Teks
SQL
1 SELECT 2 description, 3 REGEXP_EXTRACT(description, '\d+') as first_number 4 FROM products;
Mengambil angka pertama yang ditemukan dalam teks.
Hasil
| description | first_number |
|---|---|
| Contains 500mg vitamin C | 500 |
| Pack of 12 items | 12 |
| 2024 Edition | 2024 |
Parse URL Components
SQL
1 SELECT 2 url, 3 REGEXP_EXTRACT(url, 'https?://([^/]+)', 1) as hostname, 4 REGEXP_EXTRACT(url, '/([^/]+)$', 1) as last_path 5 FROM pages;
Mengekstrak hostname dan path terakhir dari URL.
Hasil
| url | hostname | last_path |
|---|---|---|
| https://example.com/products/123 | example.com | 123 |
| https://api.site.io/v1/users | api.site.io | users |