Regex
Regex (Regular Expression)
Urutan karakter yang mendefinisikan pola pencarian, digunakan untuk mencocokkan, menemukan, mengganti, atau memvalidasi string teks. Regular expression adalah alat fundamental dalam pemrosesan teks, validasi data, dan operasi pencarian.
Detail Teknis
Mesin regex hadir dalam dua jenis: NFA (backtracking, digunakan oleh sebagian besar bahasa) dan DFA (deterministik, tanpa backtracking). Sintaks inti mencakup kelas karakter ([a-z], \d, \w), quantifier (*, +, ?, {n,m}), anchor (^, $, \b), grup ((...) untuk capture, (?:...) untuk non-capture), dan alternasi (|). Lookahead (?=...) dan lookbehind (?<=...) mencocokkan tanpa mengkonsumsi karakter. Catastrophic backtracking (ReDoS) terjadi dengan quantifier bersarang pada pola yang tumpang tindih. RegExp JavaScript menggunakan sintaks /pattern/flags dengan flag seperti g (global), i (case-insensitive), m (multiline), s (dotAll), dan u (Unicode).
Contoh
```javascript
// Regex: web API example
const response = await fetch('/api/resource');
const data = await response.json();
console.log(data);
```