RegExp dasar
Literal, test, exec, match, pola umum.
Pahami konsepnya
RegExp ditulis /pola/flags: /d+/g, /[a-z]+/i, /^halo$/. Method pada string: match menghasilkan array kecocokan, replace mengganti, search memberi posisi, split memecah. Method pada RegExp: test menghasilkan boolean, exec memberi detail kecocokan pertama.
Pola dasar: d digit, w word char, s whitespace, . sembarang. Kuantifier: + satu atau lebih, * nol atau lebih, ? opsional, {3} tepat 3, {2,5} 2-5. Anchor: ^ awal, $ akhir. Kelas: [abc] salah satu, [^abc] selain itu. Escape: . titik literal, \ backslash.
Flags: g (global — semua kecocokan, bukan hanya pertama), i (case-insensitive), m (multiline), s (dotall — . mencakup newline), u (unicode), y (sticky).
Coba contoh kode
const teks = "Kontak: andi@kampus.com, budi@kantor.com, 08123456789";
// test: ada tidak
console.log(/d+/.test(teks)); // true
// match: semua angka
console.log(teks.match(/d+/g));
// match: email (sederhana)
console.log(teks.match(/w+@w+.w+/g));
// replace dengan flag g
console.log(teks.replace(/d+/g, "XXX"));
// exec: detail kecocokan
const pola = /(w+)@(w+)/;
const hasil = pola.exec(teks);
console.log(hasil[0], hasil[1], hasil[2]); // andi@kampus andi kampusmatch dengan flag g menghasilkan array semua kecocokan. exec memberi grup penangkap: hasil[1] dan hasil[2] adalah bagian dalam kurung.
Latihan singkat
Uji: "harga 25000".match(/d+/)[0] — harus `25000`.