Lompat ke konten utama
←

Regex untuk Mencari Teks

Pelajaran 13 dari 14

Grup, alternatif, dan kasus nyata

Grup bernama, replace, dan split

Setelah pelajaran ini kamu bisa memberi nama pada grup, menukar bagian teks dengan replace dan $1, dan memecah daftar dengan split berpola.

  • ±13 menit
  • 3 latihan
  • Diperiksa 23 Sep 2026

Latihan di pelajaran ini butuh akun gratis. Progres, kode, dan catatanmu hanya tersimpan di browser ini. Masuk untuk menyimpannya

Materi

Grup bernama ditulis (?<nama>...). Hasilnya sama dengan grup biasa, tetapi bagian yang tertangkap bisa dibaca dengan namanya lewat String.prototype.match, sehingga kode yang memakainya lebih mudah dibaca.

const m = "INV-2026-0001".match(/^INV-(?<tahun>\d{4})-(?<urutan>\d{4})$/);
console.log(m.groups.tahun);   // "2026"
console.log(m.groups.urutan);  // "0001"

Tangkapan yang sama dipakai String.prototype.replace lewat $1, $2, dan seterusnya: $1 berarti isi grup pertama, dihitung dari kurung pembuka paling kiri. Untuk grup bernama, penulisannya $<nama>. Cara ini menukar urutan bagian teks tanpa memotong string satu per satu dengan slice.

const tgl = "22/09/2026".replace(/(\d{2})\/(\d{2})\/(\d{4})/, "$3-$2-$1");
console.log(tgl);  // "2026-09-22"
console.log("Bogor,  Depok, Bekasi".split(/\s*,\s*/));  // ["Bogor", "Depok", "Bekasi"]

Tanpa flag, replace hanya mengganti kecocokan pertama. Flag g membuatnya mengganti semua kecocokan: mengganti tanda hubung pada a-b-c dengan spasi menghasilkan a b c bila flag g dipasang, dan a b-c bila tidak. String.prototype.replaceAll menolak pola tanpa flag g dengan pesan TypeError: replaceAll must be called with a global RegExp.

Latihan di kelas ini hanya menilai cocok atau tidak cocok. Nama grup tidak memengaruhi hasil itu; namanya baru terpakai ketika pola dipakai di kode untuk mengambil bagian teks.

Aturan format di latihan ini

  • Nomor HP: diawali 08, lalu 8 sampai 11 digit, tanpa spasi atau tanda hubung.
  • Kode invoice: INV, tanda hubung, tahun 4 digit, tanda hubung, nomor urut 4 digit.
  • Daftar kota dalam satu sel: dipisah titik koma atau koma, dengan spasi yang tidak seragam.

Aturan di atas adalah aturan formulir latihan Toko Nusantara, bukan aturan resmi operator seluler atau sistem perpajakan.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Lanjutkan ke

Tampilkan 3 lagi

Sebagian materi kelas ini diadaptasi dari Library Carpentry — Introduction to Working with Data (Regular Expressions) (CC-BY-4.0).