Regex Tester
Kembangkan dan debug ekspresi reguler dengan pengujian langsung terhadap teks sampel Anda. Penyorotan pencocokan visual menunjukkan tepat apa yang cocok. Periksa grup tangkapan, uji string pengganti, dan aktifkan semua bendera regex JavaScript. Batas waktu eksekusi 200ms mencegah pola yang tidak terkendali membekukan browser Anda.
Apa yang dilakukan alat ini?
Regex Tester menyediakan lingkungan interaktif untuk mengembangkan ekspresi reguler JavaScript. Alat ini menawarkan penyorotan pencocokan langsung dalam teks uji, inspeksi detail grup tangkapan (baik bernomor $1, $2 maupun grup bernama), semua bendera regex JavaScript (g global, i case-insensitive, m multiline, s dotAll, u unicode, y sticky), dan mode pengganti untuk menguji substitusi regex dengan referensi $1, $2. Antarmuka menangkap kesalahan regex umum dan mencegah backtracking katastropik dengan batas waktu 200ms per eksekusi.
Cara kerjanya
Alat ini membuat objek RegExp JavaScript dari string pola dan bendera yang dipilih. Untuk pencocokan, ia menggunakan RegExp.prototype.exec() dalam loop untuk pencocokan global atau eksekusi tunggal untuk non-global. Pencocokan disorot dengan menghitung posisi karakter dalam teks. Grup tangkapan diekstrak dari array pencocokan (indeks 0 adalah pencocokan penuh, 1+ adalah grup). Untuk penggantian, String.prototype.replace() digunakan dengan string pengganti yang dapat merujuk $& (pencocokan penuh), $1-$99 (grup tangkapan), $` (sebelum pencocokan), $' (setelah pencocokan). Watchdog berbasis setTimeout mengganggu eksekusi jika melebihi 200ms, melindungi terhadap pola ReDoS (Regular Expression Denial of Service).
Fitur
- Penyorotan pencocokan langsung dalam teks uji
- Semua hasil pencocokan dengan grup tangkapan yang tercantum
- Aktifkan bendera: g, i, m, s, u, y
- Mode pengganti: coba string pengganti dengan $1/$2
- Menangkap pola yang tidak valid dengan kesalahan yang jelas
- Batas waktu 200ms mencegah pembekuan dari pola buruk
- Sintaks regex JavaScript (mendukung fitur ES2018+)
Cara menggunakan
- 1
Masukkan pola Anda
Ketik pola regex tanpa garis miring di awal/akhir — hanya tubuh pola. Gunakan sintaks regex JavaScript standar.
- 2
Aktifkan bendera sesuai kebutuhan
g untuk global (temukan semua pencocokan), i untuk case-insensitive, m untuk pencocokan ^/$ awal/akhir baris, s untuk titik yang cocok dengan baris baru, u untuk Unicode, y untuk pencocokan sticky.
- 3
Tempel teks uji
Masukkan teks sampel yang harus cocok (dan beberapa yang tidak). Pencocokan disorot langsung saat Anda mengedit. Klik pencocokan apa pun untuk detail.
- 4
Tinjau pencocokan dan grup
Setiap pencocokan menampilkan teks penuh, posisi, dan semua grup tangkapan. Gunakan ini untuk memverifikasi apakah pola Anda mengekstrak data yang benar.
- 5
Uji penggantian (opsional)
Beralih ke Mode Pengganti untuk menguji pola substitusi. Gunakan $1, $2 untuk referensi grup tangkapan, $& untuk pencocokan penuh.
Kasus penggunaan umum
Pengembangan pola
Bangun dan perbaiki pola regex untuk validasi data, parsing, ekstraksi, dan pemrosesan teks sebelum menambahkannya ke kode.
Debugging masalah regex
Ketika regex dalam kode Anda berperilaku tidak terduga, tempelkan di sini dengan data sampel untuk mengisolasi masalahnya.
Perencanaan ekstraksi data
Kembangkan pola untuk parsing log, web scraping, atau pembersihan data dengan menguji terhadap data sampel nyata.
Pengujian strategi penggantian
Uji pola find-and-replace dengan grup tangkapan sebelum diterapkan ke dataset besar atau kode produksi.
Tips & praktik terbaik
- Selalu uji dengan kasus tepi: string kosong, string yang tidak harus cocok, dan kasus batas
- Bendera 's' (dotAll) sering diabaikan — tanpa itu, titik . tidak cocok dengan baris baru, yang mengejutkan banyak pengembang
- Gunakan grup non-tangkapan (?:...) ketika Anda tidak perlu mengekstrak konten grup — mereka lebih efisien
- Kelas karakter seperti [a-z] dalam regex JavaScript dengan bendera 'u' menangani Unicode dengan benar; tanpa 'u', mereka mungkin tidak cocok dengan huruf non-ASCII