Penguji Regex
Uji ekspresi reguler JavaScript secara lokal dengan tanda g/i/m/s/u/y, jumlah kecocokan, grup pengambilan dan penamaan, rentang baris-kolom, dan pratinjau penggantian asli.
/
/g
Teks Tes
Karakter
0 / 50,000
Hasil pencocokan
Masukkan pola untuk mulai mencocokkan
Teks pengganti
Karakter
0 / 50,000
Pratinjau Penggantian
Mulai cepat
Skenario umum
Ekstraksi data
gunakan (\d{4}-\d{2}-\d{2}) untuk mengekstrak tanggal, dan ([\w.]+@[\w.]+) untuk mengekstrak alamat email
Validasi format
tulis regex, tempel beberapa contoh, dan cepat periksa apakah pola benar-benar cocok dengan format target
Penggantian massal
gunakan grup tangkapan untuk menyusun ulang konten. Misalnya, ubah "Nama Depan Nama Belakang" menjadi "Nama Belakang, Nama Depan" dengan pola (\S+)\s+(\S+) dan pengganti $2, $1
Grup yang diberi nama
gunakan (?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2}) untuk mengekstrak tanggal, lalu gunakan $<year>/$<month>/$<day> untuk membangunnya kembali
Belajar regex
coba berbagai pola dan amati perilaku kecocokan untuk memahami quantifier, anchor, dan kelas karakter secara visual
Penanganan multi-baris
aktifkan flag m agar ^ dan $ mencocokkan per baris, berguna untuk log, kode, dan file konfigurasi
Saran penggunaan
Batasan & kompatibilitas
Privasi & keamanan
Pertanyaan umum
Ekspresi reguler (regex) adalah bahasa pola untuk mendeskripsikan struktur teks. Anggap saja sebagai "penelusuran lanjutan" — alih-alih mencari kata tetap, Anda mencari semua yang cocok dengan aturan.\n\nMisalnya, \\d{4}-\\d{2}-\\d{2} cocok dengan semua tanggal dalam format YYYY-MM-DD, dan [\\w.]+@[\\w.]+ cocok dengan alamat email. Regex banyak digunakan untuk: pencarian & ekstraksi teks (menemukan kode kesalahan dalam log), validasi format (memeriksa nomor telepon), dan penggantian batch (mengonversi format tanggal).\n\nHampir semua bahasa pemrograman (JavaScript, Python, Java, Go, dll.) dan banyak alat (VS Code, grep, sed) mendukung regex dengan sebagian besar sintaksis serupa. Alat ini menggunakan mesin JavaScript RegExp untuk pengujian dan pembelajaran online cepat.
Regex JavaScript hanya mengembalikan kecocokan pertama secara default — ini adalah perilaku spesifikasi bahasa, bukan batasan alat. Klik tombol g di bilah tanda untuk mengaktifkan pencarian global dan melihat semua kecocokan.\n\nPerhatikan interaksi antara g dan y: g memindai seluruh teks dari awal hingga akhir, sedangkan y (lengket) mengharuskan setiap kecocokan dimulai tepat di tempat yang sebelumnya berakhir — jika ada karakter celah di antara kecocokan, y berhenti di celah pertama. Biasanya mengaktifkan g tanpa y saja sudah cukup.
Empat penyebab yang paling sering muncul: 1. Tanda kurung tidak lengkap: setiap ( perlu ), dan setiap [ perlu ]. IDE mungkin melengkapinya otomatis, tetapi alat ini tetap menguji pola yang benar-benar Anda masukkan. 2. Quantifier berada di posisi yang salah: *, +, ?, {n} harus mengikuti bagian yang bisa diulang. Kombinasi seperti *+ atau ?* tidak valid; quantifier non-greedy ditulis *? atau +?. 3. Escape belum lengkap: \ tunggal di akhir pola tidak valid; ia harus meng-escape karakter tertentu, seperti \d, \n, atau \\. 4. Properti Unicode tanpa flag u: \p{L}, \p{Script=Han}, dan property escape serupa memerlukan flag u di alat ini.
Referensi ini digunakan oleh String.prototype.replace() di JavaScript: - $1, $2, ..., $99: isi grup tangkapan yang sesuai. - $&: seluruh teks yang cocok. - $`: teks sebelum kecocokan. - $': teks setelah kecocokan. - $<name>: isi grup bernama (?<name>...). Contoh: jika (\w+)\s(\w+) cocok dengan “hello world”, pengganti $2-$1 menghasilkan “world-hello”. Untuk memasukkan karakter $ literal dalam pengganti, tulis $$.
Mesin regex berbeda antarbahasa terutama pada tiga hal: 1. Dukungan sintaks: JavaScript tidak mendukung rekursi PCRE (?R), cabang bersyarat (?(cond)yes|no), atau grup atomik (?>...). Modul re Python juga tidak, sedangkan modul regex pihak ketiga mendukung sebagian. Java mendukung grup atomik, tetapi tidak rekursi. 2. Unicode: di JavaScript, \w terutama cocok dengan huruf Latin dasar, digit, dan garis bawah. Mengaktifkan u tidak otomatis membuatnya cocok dengan karakter Tionghoa. Untuk huruf Unicode, gunakan property escape seperti \p{L} bersama flag u. 3. Baris baru: di Python, . secara default tidak cocok dengan \n, sama seperti JavaScript. Pattern.DOTALL di Java mirip dengan flag s JavaScript. Gunakan alat ini untuk cek cepat JavaScript RegExp, lalu pastikan lagi dengan engine bahasa target.