Cheatsheet Regex Modern: Pola Praktis, Sintaks & Panduan Validasi

Berhenti menulis ekspresi reguler yang rapuh dari awal. Panduan praktis ini memberikan pola ekspresi reguler yang teruji untuk tugas pengembangan sehari-hari bersama dengan pengelompokan visual dari pandangan ke depan, menangkap kelompok, dan kelas karakter.

Modern developer code editor displaying highlighted regular expression syntax tokens, capture groups, and lookaheads

Referensi Sintaks Regex Inti & Metakarakter

Comprehensive regular expression token reference chart breaking down anchors, character classes, and quantifiers

Ekspresi reguler (regex) adalah deskripsi pola formal yang digunakan oleh mesin telusur, kompiler, dan aplikasi web untuk memvalidasi, mengekstrak, dan mengganti data string.

MetakarakterArtinyaPraktis ContohCocok
^Mulai dari string / baris^httpsString 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"
\dDigit apa pun (setara dengan [0-9])\d{4} "2026"
\wKata karakter (alfanumerik + _)\w+"pengguna _123"
\sApa saja spasi (spasi, tab, baris baru)\s+" "
+Satu atau lebih kejadiana+"a", "aaa"
*Nol atau lebih kejadiana*"", "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)

Email and password validation pattern breakdown showing lookahead assertions and character set boundaries

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)

International phone number and hex color code parsing diagrams showing optional country prefixes and digit groupings

Cocok dengan nomor telepon internasional standar yang dimulai dengan tanda plus:

^\+[1-9]\d{1,14}$

Keamanan ReDoS: Mencegah Pelacakan Kembali yang Bencana

Catastrophic backtracking execution graph showing exponential state evaluation loops in vulnerable regex patterns

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:

  1. Jangan pernah menumpuk bilangan serakah di dalam bilangan lain.
  2. Gunakan bilangan posesif atau grup atom jika didukung oleh waktu proses Anda.
  3. Uji pola Anda terhadap string negatif menggunakan Penguji Regex (Regex Tester).

Atomic grouping and possessive quantifier benchmarks demonstrating ReDoS-safe pattern performance optimization

Panduan Pendamping yang Direkomendasikan

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

Base64 vs Biner: Overhead Ukuran File, Latensi Jaringan & Performa WebTutorial praktis langkah demi langkah dengan standar terverifikasi dan dalam browser alur kerja.Panduan Lengkap Kode QR: Koreksi Kesalahan dan Kapasitas DataTutorial praktis langkah demi langkah dengan standar terverifikasi dan dalam browser alur kerja.Format, Validasi, dan Debug Sintaks JSON di Browser AndaTutorial praktis langkah demi langkah dengan standar terverifikasi dan dalam browser alur kerja.Masterclass Pengubahan Ukuran Gambar: Cara Menskalakan Piksel Tanpa DistorsiAlur kerja lintas format komplementer yang menghubungkan data dan media terkait alat.
Utilitas yang Direkomendasikan: Penguji RegexJalankan alur kerja ini secara langsung di browser Anda tanpa unggahan server dan 100% privasi sisi klien.
Penguji Regex (Regex Tester)
Penguji Regex (Regex Tester)

Pertanyaan yang Sering Diajukan

Temukan jawaban cepat dan terverifikasi untuk pertanyaan umum tentang alur kerja ini.

Apa yang dimaksud dengan kemunduran katastropik dalam ekspresi reguler (ReDoS)?

Pelacakan balik yang dahsyat terjadi ketika bilangan bersarang yang tumpang tindih (misalnya (a+)+$) memaksa mesin regex mengevaluasi cabang kombinasi eksponensial saat mengevaluasi string yang tidak valid, menyebabkan lonjakan CPU dan server terhenti.

Mengapa Anda harus menguji ekspresi reguler di sisi klien dan bukan di server cloud?

Menguji pola regex dengan data sampel produksi nyata (seperti email pengguna, alamat, atau token) mengekspos data rahasia pengguna jika dikirim ke server web pihak ketiga. Alat regex ToolDolfen beroperasi 100% secara lokal di browser Anda.

Apa perbedaan antara grup pandangan ke depan positif (?=...) dan grup yang tidak menangkap (?:...)?

Pandangan ke depan yang positif menegaskan bahwa yang berikut ini cocok dengan pola tanpa menggunakan karakter atau memasukkannya ke dalam string yang cocok. Grup yang tidak menangkap mengelompokkan sub-ekspresi untuk pembilang tanpa menyimpannya ke nomor indeks memori.

Bilal Ahmad