Dasar-dasar regex
Pola regex hanyalah cara ringkas untuk mendeskripsikan teks yang ingin Anda cocokkan. Mulailah dengan sederhana: cocokkan satu hal, uji, lalu tambahkan grup, anchor, atau kuantifier hanya bila perlu.
Anchor
^ berarti awal input dan $ berarti akhir input.
Kelas karakter
[0-9], [A-Z], dan [a-z] mencocokkan rentang.
Kuantifier
* = nol atau lebih, + = satu atau lebih, ? = opsional.
Pola umum
| Kasus penggunaan | Pola | Catatan |
|---|---|---|
| ^[^\s@]+@[^\s@]+\.[^\s@]+$ | Validasi umum yang baik, bukan parser RFC penuh. | |
| URL | https?:\/\/[^\s]+ | Cocok untuk tautan HTTP dan HTTPS dasar. |
| Bilangan bulat | ^-?\d+$ | Mendukung tanda negatif opsional. |
| Bilangan desimal | ^-?\d+(\.\d+)?$ | Mencocokkan bilangan bulat dan desimal. |
| Spasi kosong | \s+ | Berguna untuk merapatkan spasi berulang dan jeda baris. |
| Warna hex | ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ | Mendukung warna 3 digit dan 6 digit. |
| IPv4 | \b(?:\d{1,3}\.){3}\d{1,3}\b | Mencocokkan teks mirip IPv4, bukan validasi ketat 0-255. |
| Baris kosong | ^\s*$ | Gunakan dengan mode multiline untuk menargetkan baris kosong. |
Flag yang paling sering Anda gunakan
g global
Temukan semua kecocokan, bukan berhenti setelah kecocokan pertama.
i abaikan huruf besar/kecil
Membuat pencocokan tidak peka huruf besar/kecil, berguna untuk kata kunci dan input pengguna.
m multiline
Membuat ^ dan $ bekerja baris demi baris.
s dotall
Mari . cocokkan baris baru serta karakter normal.
Jebakan umum regex
- Jangan mulai dengan pola raksasa yang mencakup semuanya. Bangun secara bertahap dan uji setiap bagian.
- Ingat untuk escape karakter khusus seperti ., ?, +, dan [ saat yang dimaksud adalah karakter literal.
- Jika hanya menginginkan kata utuh, tambahkan batas seperti \bword\b.
- Hati-hati dengan pencocokan greedy. .* sering menangkap lebih dari yang Anda harapkan.
Gunakan referensi ini dengan alat yang tepat
Cari pola di sini, lalu uji langsung, terapkan ke teks nyata, atau gunakan dalam alur kerja penggantian.