Lembar Contekan Regex: Pola yang Dibutuhkan Setiap Pengembang
Regular expression terasa seperti sihir gelap sampai Anda mempelajari polanya. Setelah Anda memahaminya, mereka menjadi tak tergantikan untuk pencarian teks, validasi, ekstraksi data, dan manipulasi string.
Ambil sebuah pola, tempelkan ke Regex Tester kami untuk bereksperimen, dan sesuaikan dengan kebutuhan Anda.
Sintaks Inti Regex
Kelas Karakter
| Pola | Mencocokkan | Contoh |
|---|---|---|
. | Karakter apa pun kecuali baris baru | a.c mencocokkan "abc", "a1c" |
\d | Angka apa pun (0-9) | \d{3} mencocokkan "123" |
\w | Karakter kata (huruf, angka, garis bawah) | \w+ mencocokkan "hello_1" |
\s | Spasi putih | \s+ mencocokkan spasi |
[abc] | Salah satu dari a, b, atau c | [aeiou] mencocokkan vokal |
[^abc] | Karakter apa pun kecuali a, b, c | [^0-9] mencocokkan non-angka |
[a-z] | Karakter apa pun dalam rentang | [A-Za-z] mencocokkan huruf |
Kuantifier
| Pola | Arti |
|---|---|
* | Nol atau lebih |
+ | Satu atau lebih |
? | Nol atau satu |
{n} | Tepat n kali |
{n,m} | Antara n dan m kali |
Anchor dan Grup
| Pola | Arti |
|---|---|
^ | Awal string |
$ | Akhir string |
\b | Batas kata |
(abc) | Grup penangkap |
(?:abc) | Grup non-penangkap |
a|b | Alternasi (atau) |
(?=abc) | Positive lookahead |
Pola Praktis
Validasi Email
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Pencocokan URL
https?:\/\/[\w.-]+(?:\.[a-zA-Z]{2,})(?:\/[\w./?%&=-]*)?
Kekuatan Kata Sandi
Minimal 8 karakter, satu huruf besar, satu huruf kecil, satu angka, satu karakter khusus:
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*])[A-Za-z\d!@#$%^&*]{8,}$
Untuk membuat kata sandi yang kuat, gunakan Generator Kata Sandi kami.
Kode Warna Hex
^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$
Konversi antar format warna dengan Konverter Warna kami.
Validasi UUID
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
Buat UUID yang valid dengan Generator UUID kami.
Tips Performa Regex
- Bersikaplah spesifik —
[a-zA-Z]lebih cepat daripada. - Hindari backtracking katastrofik — Kuantifier bersarang seperti
(a+)+menyebabkan waktu eksponensial - Gunakan grup non-penangkap ketika Anda tidak membutuhkan nilainya
- Pasang anchor pada pola Anda —
^pattern$lebih cepat daripada pencarian tanpa anchor - Uji dengan kasus tepi — Gunakan Regex Tester kami sebelum deploy
Pertanyaan yang Sering Diajukan
Apa perbedaan antara * dan +?
* mencocokkan nol atau lebih kemunculan, + membutuhkan setidaknya satu. Jadi ab*c mencocokkan "ac" tetapi ab+c tidak.
Bagaimana cara membuat regex tidak peka huruf besar-kecil?
Gunakan flag i: /pattern/i di JavaScript, re.IGNORECASE di Python.
Sumber Terkait
- Regex untuk Validasi Email — pola yang berfungsi di produksi
- Alat Regex Tester — uji dan debug pola secara real-time
- Generator Kata Sandi — buat kata sandi yang cocok dengan aturan regex
- Generator UUID — buat UUID yang valid