Regular Expression, atau sering disebut Regex, adalah urutan karakter yang mendefinisikan pola pencarian. Bagi banyak developer pemula, regex terlihat seperti deretan karakter acak yang membingungkan. Namun setelah memahami logika dasarnya, regex menjadi salah satu alat paling ampuh dalam arsenal seorang developer.
Mengapa Belajar Regex?
Regex sangat berguna untuk: validasi input formulir (email, nomor telepon, password), pencarian dan penggantian teks yang kompleks, parsing log file, ekstraksi data dari string, dan membersihkan data sebelum diproses.
Karakter Dasar Regex
| Pola | Artinya | Contoh |
|---|---|---|
| . | Karakter apa saja (kecuali newline) | a.c → abc, axc |
| ^ | Awal string | ^Hello → cocok di awal |
| $ | Akhir string | world$ → cocok di akhir |
| * | 0 atau lebih pengulangan | ab* → a, ab, abb |
| + | 1 atau lebih pengulangan | ab+ → ab, abb (bukan a) |
| ? | 0 atau 1 pengulangan | colou?r → color, colour |
| \d | Digit 0-9 | \d{3} → 123 |
| \w | Karakter kata (huruf/angka/_) | \w+ → hello |
Contoh Praktis
Validasi Email:
/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/Validasi Nomor Telepon Indonesia:
/^(\+62|62|0)8[1-9][0-9]{6,10}$/Ekstrak URL dari teks:
/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/giFlags di Regex
g— Global: temukan semua kecocokan, bukan hanya yang pertama.i— Case-insensitive: abaikan perbedaan huruf besar/kecil.m— Multiline: ^ dan $ sesuai dengan awal/akhir setiap baris.s— Dotall: titik (.) juga cocok dengan newline.
Praktikkan Langsung
Cara terbaik untuk belajar regex adalah dengan mencoba langsung. Gunakan Regex Tester kami untuk menguji pola Anda secara real-time, melihat semua kecocokan yang ditemukan, dan bereksperimen dengan flag yang berbeda.
Kesimpulan
Regex adalah investasi waktu yang sangat sepadan. Meskipun kurva belajarnya cukup curam di awal, kemampuan untuk memanipulasi teks dengan presisi tinggi akan menghemat jam-jam kerja Anda di masa depan. Mulailah dengan pola sederhana, dan secara bertahap tingkatkan kompleksitasnya.