Referensi Sintaks Regex Inti & Metakarakter

Ekspresi reguler (regex) adalah deskripsi pola formal yang digunakan oleh mesin telusur, kompiler, dan aplikasi web untuk memvalidasi, mengekstrak, dan mengganti data string.
| Metakarakter | Artinya | Praktis Contoh | Cocok |
|---|---|---|---|
^ | Mulai dari string / baris | ^https | String yang diawali dengan "https" |
$ | Akhir string / baris | \.png$ | String yang diakhiri dengan ".png" |
. | Karakter tunggal apa pun (kecuali baris baru) | c.t | "kucing", "ranjang", "c9t" |
\d | Digit apa pun (setara dengan [0-9]) | \d{4} | "2026" |
\w | Kata karakter (alfanumerik + _) | \w+ | "pengguna _123" |
\s | Apa saja spasi (spasi, tab, baris baru) | \s+ | " " |
+ | Satu atau lebih kejadian | a+ | "a", "aaa" |
* | Nol atau lebih kejadian | a* | "", "a", "aaa" |
? | Nol atau satu kekerapan (opsional) | https? | "http", "https" |
{n,m} | Antara n dan m pengulangan | \d{2,4} | "99", "1999" |
Salin-Tempel Pola Regex yang Telah Diuji untuk Aplikasi Web
1. Validasi Alamat Email (RFC 5322 Sederhana)

Memvalidasi email modern standar dengan ekstensi domain yang valid:
^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$
2. Validasi Kata Sandi yang Kuat
Membutuhkan 8+ karakter, minimal 1 huruf besar, 1 huruf kecil, 1 angka, dan 1 simbol khusus:
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$
3. Kode Warna Hex
Cocok dengan kode hex 3 digit, 6 digit, dan 8 digit (dengan saluran alfa):
^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$
4. Nomor Telepon Internasional (Format E.164)

Cocok dengan nomor telepon internasional standar yang dimulai dengan tanda plus:
^\+[1-9]\d{1,14}$
Keamanan ReDoS: Mencegah Pelacakan Kembali yang Bencana

Penolakan Layanan Ekspresi Reguler (ReDoS) adalah kerentanan keamanan yang kritis. Ketika ekspresi reguler menggunakan bilangan ambigu bertingkat seperti:
(a+)+$
Mengevaluasi masukan yang tidak cocok seperti "aaaaaaaaaaaaaaaaaaaaaaaaaaaa!" menyebabkan mesin regex NFA menguji jutaan permutasi. Dalam backend produksi Node.js atau Python, ini memblokir loop peristiwa dan mengunci CPU pada 100%.
Aturan untuk mencegah ReDoS:
- Jangan pernah menumpuk bilangan serakah di dalam bilangan lain.
- Gunakan bilangan posesif atau grup atom jika didukung oleh waktu proses Anda.
- Uji pola Anda terhadap string negatif menggunakan Penguji Regex (Regex Tester).

Panduan Pendamping yang Direkomendasikan
Jelajahi tutorial dan utilitas pelengkap dari cluster topik ini untuk menyempurnakan alur kerja digital Anda: