String

REGEXP_REPLACE

DuckDBDuckDB

Mengganti bagian string yang cocok dengan regular expression. Lebih powerful dari REPLACE untuk pattern matching kompleks.

Tipe hasil: VARCHARDiperbarui: 6 Jan 2026

Syntax

SQL
REGEXP_REPLACE(string, pattern, replacement [, flags])

Parameter

stringVARCHARwajib

String yang akan diproses

patternVARCHARwajib

Regular expression pattern untuk dicari

replacementVARCHARwajib

String pengganti. Bisa menggunakan capture groups ($1, $2)

flagsVARCHARopsional

Flags: 'g' global, 'i' case-insensitive, 'm' multiline

Contoh Penggunaan

Menghapus Semua Non-Digit

SQL
1SELECT
2 phone_raw,
3 REGEXP_REPLACE(phone_raw, '[^0-9]', '', 'g') as phone_clean
4FROM contacts;

Membersihkan nomor telepon dari karakter non-angka.

Hasil
phone_rawphone_clean
+62 812-3456-78906281234567890
(021) 555-12340215551234
08.123.456.78908123456789

Format Ulang Tanggal

SQL
1SELECT
2 date_raw,
3 REGEXP_REPLACE(date_raw, '(\d{2})/(\d{2})/(\d{4})', '$3-$2-$1') as date_iso
4FROM (
5 SELECT '15/06/2024' as date_raw UNION ALL
6 SELECT '01/12/2023'
7);

Mengubah format DD/MM/YYYY ke YYYY-MM-DD menggunakan capture groups.

Hasil
date_rawdate_iso
15/06/20242024-06-15
01/12/20232023-12-01

Mask Sensitive Data

SQL
1SELECT
2 email,
3 REGEXP_REPLACE(email, '(.{2}).*(@.*)', '$1***$2') as masked_email
4FROM users;

Menyembunyikan sebagian email untuk privasi.

Hasil
emailmasked_email
budi.santoso@gmail.combu***@gmail.com
ani.lestari@yahoo.coman***@yahoo.com

Fungsi Terkait