JavaScript Regular Expressions
Ringkasan
Regex adalah pola untuk mencocokkan teks. Di JS dipakai via literal /.../ atau RegExp.
Konsep Dasar
test()→ boolean,match()/matchAll()→ capture,replace()→ substitusi.- Groups:
(...), named(?<nama>...), quantifier* + ? {n,m}. - Flags:
gglobal,iignore-case,mmultiline,sdotall. - Escape karakter khusus (
\.\*\).
Cara Kerja / Struktur
const re = /(?<year>\d{4})-(\d{2})/;
"2026-08".match(re); // groups: year=2026, 08
"a1b2".replace(/\d/g, "#"); // "a#b#"Catatan Implementasi
- Hindari regex dari input user tanpa sanitasi (ReDoS risk).
String.prototype.matchAllbutuh flagg.
Kesalahan Umum
- Lupa flag
gsaat loopexec(infinite loop). - Backtrack catastrophi pada pola
^(a+)+$+ input panjang.
Glosarium
- Capturing group: bagian pola yang diambil nilainya.
- ReDoS: deny of service via regex ber-backtrack buruk.