Apps Artificial Intelligence CSS DevOps Go JavaScript Laravel Linux MongoDB MySQL PHP Python Rust Vue

JavaScript RegExp `d` Modifier: Tangkap Banyak Group Sekaligus

1 min read .
JavaScript RegExp `d` Modifier: Tangkap Banyak Group Sekaligus

Kadang saya harus nge-parse string kompleks yang punya pola berulang, misal tanggal atau harga produk. Sebelumnya ribet banget kalau mau ambil semua grup dengan nama sama. Untungnya, JavaScript sekarang punya d modifier untuk RegExp yang bikin hidup lebih gampang.

Apa Itu d Modifier?

Modifier d (duplicate capturing group names) memungkinkan kita menangkap semua kemunculan dari grup bernama yang sama, bukan cuma yang terakhir. Cocok banget kalau pola berulang harus dianalisis atau debug.

const regex = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/d;
  • (?<name>pattern) → grup bernama
  • d → tangkap semua occurrence

Contoh Penggunaan

1. Tangkap Banyak Tanggal

const dateRegex = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/d;
const dates = '2024-08-30 and 2023-12-25';
const match = dates.match(dateRegex);

console.log(match.groups);
// { year: ['2024','2023'], month: ['08','12'], day: ['30','25'] }

2. Debug Regex Kompleks (Produk & Harga)

const text = 'Product A: $10, Product B: $20, Product C: $30';
const priceRegex = /(?<product>\w+): \$?(?<price>\d+)/d;

const matches = text.match(priceRegex);

console.log(matches.groups);
// { product: ['A','B','C'], price: ['10','20','30'] }

Kapan Pakai d Modifier?

  • Multiple Captures → ambil semua grup dengan nama sama.
  • Debug & Analisis → bantu trace pattern kompleks.
  • Readability → regex tetap jelas meski kompleks.

Browser Compatibility

  • ECMAScript 2022 → modern browsers: Chrome 93+, Firefox 103+, Edge 93+
  • Tidak support di browser lawas → pakai fallback atau polyfill kalau perlu.

Kesimpulan

Gini deh, kalau kamu sering kerja sama string dengan pola berulang, d modifier bikin regex lebih fleksibel dan mudah di-debug. Pada akhirnya, semua grup yang sama bisa langsung ditangkap, tanpa trik-trik ribet.

Lihat Juga

chevron-up