Cara bermain Regex Pancing
- Baca instruksi level. Simbol regex yang perlu kamu pakai disebut di sana.
- Tulis pola di antara dua garis miring. Bagian teks yang cocok langsung diberi warna oranye setiap kali kamu mengetik.
- Nyalakan flag
ikalau huruf besar dan kecil harus dianggap sama. - Kalau semua ikan tercentang dan semua sampah aman, tekan Cek jawaban atau Enter. Pesannya menyebut ikan yang lolos dan sampah yang ikut terjaring.
- Kalau buntu, buka Petunjuk. Petunjuk pertama mengarahkan, petunjuk terakhir hampir menjawab.
- Level yang sudah selesai tetap tercentang saat kamu kembali dengan browser yang sama.
Yang kamu pelajari
- Level 1
Teks biasa
Huruf dan angka biasa mencocokkan dirinya sendiri.
- Level 2
Titik (.)
Cocok dengan satu karakter apa saja.
- Level 3
Kelas karakter [ ] dan \d
[aeiou]cocok dengan salah satu karakter di dalamnya,\dcocok dengan satu digit. - Level 5
Kuantifier + * ? {n,m}
Mengatur berapa kali karakter sebelumnya boleh muncul: satu atau lebih, nol atau lebih, opsional, atau dalam rentang tertentu.
- Level 7
Escape (\.)
Garis miring terbalik membuat simbol khusus seperti
.dan+dibaca sebagai karakter biasa. - Level 8
Jangkar ^ dan $
Mengunci pola ke awal dan akhir teks, supaya seluruh teks yang dicek, bukan sebagian.
- Level 9
Grup ( ) dan alternasi |
|berarti atau. Kurung membatasi pilihannya dan bisa diulang dengan kuantifier. - Level 12
Flag i
Membuat huruf besar dan huruf kecil dianggap sama.
Regex mencari di bagian mana pun
\d{5} tidak berarti teksnya 5 digit. Pola itu cocok kalau ada 5 digit berurutan di mana saja, jadi 401155 dan kode 40115 Bandung ikut cocok.
Untuk memeriksa seluruh teks, kunci kedua ujungnya: ^\d{5}$. Ini penting saat memvalidasi input form seperti kode pos, nomor HP, atau email.
Tanya jawab
Apakah harus daftar akun untuk bermain?
Tidak. Semua level bisa dimainkan tanpa akun. Kemajuanmu disimpan di browser yang kamu pakai, jadi akan hilang kalau data browser dihapus.
Regex di game ini memakai aturan bahasa apa?
JavaScript, sama dengan new RegExp() di browser. Simbol dasar seperti ., [ ], \d, +, ^, dan $ bekerja hampir sama di Python, PHP, dan Go. Satu beda penting: di Python dan PHP, $ juga cocok sebelum baris baru di akhir teks. Untuk validasi, pakai re.fullmatch() di Python atau \z di PHP.
Kenapa ikan yang tertangkap sebagian dianggap belum benar?
Ikan harus cocok penuh dari karakter pertama sampai terakhir. Kalau polamu hanya mengenai sebagian, teks itu belum terbukti sesuai format yang diminta.
Apakah pola email di level terakhir cukup untuk aplikasi sungguhan?
Belum. Pola itu menolak alamat sungguhan seperti nama_kamu@gmail.com, budi+promo@gmail.com, atau domain toko-buku.id. Untuk form, pola longgar seperti ^[^\s@]+@[^\s@]+\.[^\s@]+$ lebih aman, lalu pastikan alamatnya benar lewat email verifikasi.
Kenapa polaku dihentikan karena terlalu lama?
Pola dengan kuantifier bersarang seperti (a+)+ bisa mencoba jutaan kemungkinan sebelum menyerah. Ini disebut catastrophic backtracking. Polamu dijalankan terpisah dari halaman dan dihentikan setelah 1 detik.