Penguji Regex
Uji regex JavaScript secara langsung dengan semua flag (g i m s u y d): kecocokan disorot, grup tangkap dan grup bernama, indeks, serta pratinjau penggantian. Worker anti-macet.
Memakai mesin regex JavaScript (ECMAScript) browser Anda di worker latar belakang. Sintaks PCRE/Python seperti kuantifier posesif atau modifier (?i) sebaris mungkin tidak didukung.
Apa itu Penguji Regex?
Menguji regular expression JavaScript terhadap teks Anda saat Anda mengetik. Kecocokan disorot, sebuah tabel menampilkan setiap kecocokan beserta posisinya, grup tangkap bernomor dan bernama (serta indeks grup dengan flag d), dan pratinjau penggantian opsional menampilkan hasil String.replace. Pola dijalankan di worker latar belakang yang dihentikan setelah 1,5 detik, sehingga pola yang bermasalah parah tidak bisa membekukan halaman.
Cara menggunakan Penguji Regex
- Masukkan pola (tanpa garis miring) di Ekspresi reguler.
- Centang flag yang Anda perlukan: g, i, m, s, u, y, d.
- Tempel teks yang ingin dicari ke Teks uji – kecocokan diperbarui secara otomatis.
- Centang Ganti kecocokan dengan… lalu ketik penggantinya (dengan $1, $<name>, $& …) untuk melihat pratinjau hasilnya.
Contoh
Pattern (?<y>\d{4})-(\d{2}) with flags g, text "a 2024-05 b 1999-12", replacement $2/$<y> 2 match(es) · replaced: a 05/2024 b 12/1999
Kapan menggunakan Penguji Regex
Gunakan untuk menyusun dan men-debug regex untuk JavaScript, TypeScript, dan Node.js, serta untuk aturan validasi atau cari-dan-ganti. Mesin lain (PCRE, Python, Java, .NET, POSIX) berbeda sintaks dan fiturnya – misalnya possessive quantifier, inline modifier seperti (?i), dan anchor \A/\Z tidak tersedia – jadi uji juga di sana jika Anda menargetkannya.
Cara kerja Penguji Regex
Pola dikompilasi dengan new RegExp(pattern, flags) di dalam Web Worker. Dengan g atau y, alat ini mengulang exec() dan mengumpulkan hingga 1.000 kecocokan (kecocokan kosong maju satu code point untuk menghindari perulangan tanpa akhir); tanpa keduanya, hanya kecocokan pertama yang dilaporkan, persis seperti JavaScript. Setiap kecocokan mencatat indeks awal dan akhir, grup tangkap, grup bernama, dan dengan flag d, indices untuk setiap grup. Pratinjau penggantian menjalankan text.replace(regex, replacement). Jika worker tidak menjawab dalam 1.500 ms, worker dihentikan dan pesan timeout ditampilkan.
Kasus Penggunaan Umum
- Men-debug pola validasi untuk input formulir
- Mengekstrak data dengan grup tangkap bernama
- Melihat pratinjau cari-dan-ganti sebelum menjalankannya pada file
- Mempelajari bagaimana flag seperti m, s, dan u mengubah pencocokan
- Memeriksa pola dari catastrophic backtracking
Pertanyaan Umum
Mengapa regex saya hanya menemukan kecocokan pertama?
Tanpa flag g (global), JavaScript berhenti setelah kecocokan pertama. Centang g untuk menampilkan semua kecocokan.
Apa fungsi flag d?
Flag ini menambahkan indices ke setiap kecocokan, berisi posisi awal dan akhir setiap grup tangkap. Alat ini menampilkannya di samping setiap grup.
Apa yang terjadi dengan pola bermasalah seperti (a+)+$?
Worker yang menjalankannya dihentikan setelah 1,5 detik dan Anda melihat pesan timeout, bukan tab yang membeku.
Apakah ini kompatibel dengan regex PCRE atau Python?
Sebagian besar untuk sintaks dasar, tetapi tidak sepenuhnya. Alat ini memakai mesin ECMAScript browser Anda.