Penguji Regex
Uji dan debug ekspresi reguler secara instan di browser Anda. Sorot kecocokan, lihat grup tangkap, gunakan mode ganti — gratis dan privat.
Uji dan debug ekspresi reguler secara instan di browser Anda. Sorot kecocokan, lihat grup tangkap, gunakan mode ganti — gratis dan privat.
Ekspresi reguler adalah bahasa khusus domain untuk mencocokkan pola dalam teks. Mereka telah menjadi bagian dari komputasi sejak tahun 1968 dan sekarang dimasukkan ke dalam setiap bahasa pemrograman modern, editor teks, dan alat pencarian baris perintah. Sintaksnya ringkas namun rawan kesalahan: perubahan kecil menghasilkan perilaku pencocokan yang sedikit berbeda, dan ekspresi kompleks menjadi tidak dapat dibaca dengan cepat. Penguji yang menampilkan kecocokan secara real time saat Anda mengedit pola adalah cara paling efektif untuk mengembangkan dan memverifikasi regex.
Penguji ini berjalan di browser Anda menggunakan mesin regex JavaScript (yang sama dengan yang digunakan aplikasi Anda jika dijalankan di browser). Pola dan teks pengujian diperbarui secara reaktif: setiap perubahan akan menjalankan ulang kecocokan. Grup yang cocok disorot, grup yang diambil dicantumkan, dan bendera (tidak peka huruf besar-kecil, multiline, global) diekspos untuk pengujian.
Sintaks regex sedikit berbeda antar mesin. JavaScript mengikuti spesifikasi ECMAScript; Python, PCRE (digunakan oleh PHP dan banyak lainnya), Java, dan Go masing-masing memiliki dialeknya sendiri dengan fitur yang tumpang tindih namun tidak identik. Pola yang dikembangkan di sini menggunakan sintaks ECMAScript; portabilitas lintas mesin memerlukan pemeriksaan dokumentasi setiap target.
Bug Regex terkenal sulit untuk di-debug setelah penerapan. Suatu pola yang tampak masuk akal mungkin cocok lebih atau kurang dari yang diharapkan, gagal pada kasus-kasus yang sulit, atau mengalami kemunduran yang sangat besar pada masukan tertentu. Menguji pola secara interaktif terhadap masukan yang representatif menangkap masalah sebelum peninjauan kode dan produksi.
Pola juga mendapat manfaat dari dokumentasi. Menampilkan regex di samping masukan yang harus cocok dan masukan yang tidak cocok membuat maksud menjadi eksplisit. Pengelola masa depan (termasuk Anda dalam enam bulan) lebih menghargai kasus uji yang terdokumentasi daripada menghargai satu kalimat yang cerdas.
Ketik pola, ketik input tes, lihat kecocokan yang disorot secara langsung.
Regex JavaScript mengikuti spesifikasi ECMAScript. Fitur utama: kelas karakter ([abc], [^abc]), bilangan (*, +, ?, {n,m}), pergantian (|), pengelompokan ((...)), grup penangkap dan non-penangkap, melihat ke depan dan ke belakang (mesin modern), referensi balik, grup bernama, pelolosan properti Unicode (dengan tanda u), dan kumpulan rangkaian pelolosan standar.
Perbedaan penting dari PCRE dan Python: dukungan lookbehind terbaru di JavaScript (2018+); grup bernama menggunakan sintaksis (?<nama>...); beberapa pelolosan Unicode memerlukan tanda u agar berfungsi dengan benar. Pola yang dimaksudkan untuk penggunaan lintas bahasa harus diperiksa berdasarkan dokumentasi masing-masing target.
Performa: mesin regex berbasis penelusuran mundur (sebagian besar termasuk JavaScript) dapat mengalami kemunduran yang sangat besar pada pola patologis tertentu. Pengujian yang menggantungkan penguji merupakan tanda bahwa pola tersebut memerlukan penyederhanaan — biasanya dengan menghindari bilangan bertingkat dan pergantian yang ambigu.