Bagaimana cara menguji ekspresi reguler?

Masukkan pola dan teks contoh, lalu alat ini menyorot setiap kecocokan, mendaftar grup tangkapan, dan membiarkan Anda menyalakan atau mematikan flag seperti global, multiline, dan case-insensitive. Pencocokan berjalan di browser Anda memakai mesin ekspresi reguler milik JavaScript, jadi hasilnya persis apa yang akan dilihat kode Anda.

Berjalan sepenuhnya di browser Anda · tanpa unggahan · tanpa akun · tanpa tanda air

  1. Ketik pola dan centang flag yang Anda inginkan.
  2. Tempel teks contoh untuk diuji.
  3. Baca sorotannya, lalu daftar kecocokan di bawahnya.
Flag

Sorotan

Kecocokan

    Apa yang bisa dilakukan halaman ini

    Kapan sebaiknya menggunakan alat ini

    • Mencoba ekspresi reguler JavaScript terhadap string contoh.
    • Melihat grup tangkapan dan flag mana yang menghasilkan kecocokan mana.
    • Memeriksa kewajaran pola sebelum memasukkannya ke kode front-end.

    Kapan sebaiknya memilih cara lain

    • Polanya ditujukan untuk Python, PCRE, .NET, atau Java — sintaks dan perilaku backtracking-nya berbeda dari RegExp JavaScript.
    • Masukannya tidak tepercaya dan polanya berpotensi backtracking katastrofik; pengujian berjalan di main thread dan dapat membekukan tab.
    • Anda perlu penjelasan langkah demi langkah, benchmark, atau timeout.

    Perbandingan dengan pilihan lain

    regex101 dan alat sejenis memungkinkan Anda berganti mesin, menjelaskan setiap token, dan menerapkan timeout. Halaman ini menjalankan RegExp milik browser tanpa perlindungan tersebut, sehingga setia pada JavaScript tetapi mewarisi keterbatasannya: tidak ada grup atomik, tidak ada kuantifier posesif, dan tidak ada penjaga terhadap pola patologis. Ekspresi yang sengaja dibuat buruk dapat menggantung tab sampai Anda menutupnya.

    Ke mana berkas Anda pergi

    Tidak ke mana-mana. Halaman ini memuat kode yang mengerjakan tugasnya, dan setelah itu berkas yang Anda buka dibaca oleh browser Anda sendiri. Tidak ada langkah unggah, tidak ada salinan sementara di server, tidak ada pembersihan yang harus dipercaya — data tidak pernah melintasi jaringan, jadi tidak ada yang tersisa untuk dihapus. Anda bisa memastikannya sendiri: buka panel jaringan browser saat alat berjalan dan lihat panel itu tetap diam.

    Pertanyaan tentang alat ini

    Halaman berhenti merespons saat saya memakai pola saya. Mengapa?
    Itu backtracking katastrofik: pola seperti (a+)+b terhadap rangkaian huruf “a” yang panjang membuat mesin mencoba jumlah cara gagal yang eksponensial. Halaman ini membatasi jumlah kecocokan agar tidak berputar tanpa henti, tetapi satu kecocokan yang keras kepala tetap bisa memakan waktu sesaat. Tulis ulang kuantifier bersarang agar mesin hanya punya satu jalur — misalnya a+b — atau jangkarkan pola dengan ^ atau $.
    Flag apa saja yang bisa saya aktifkan?
    g menemukan semua kecocokan, bukan hanya yang pertama; i mengabaikan besar-kecil huruf; m membuat ^ dan $ cocok pada perpindahan baris; s membuat . juga cocok dengan baris baru; dan u mengaktifkan mode Unicode penuh, yang dibutuhkan untuk escape properti \p{...} dan penanganan karakter di luar bidang dasar yang benar. Hasilnya persis yang diberikan mesin JavaScript sendiri, jadi cocok dengan kode Anda.
    Mengapa daftar kecocokan hanya berisi beberapa ribu?
    Daftarnya dibatasi agar pola yang cocok pada setiap karakter — misalnya . dengan flag global pada dokumen panjang — tidak mengunci tab saat membangun ribuan baris. Batas itu cukup tinggi untuk string uji yang realistis; jika Anda mencapainya, persempit polanya atau pendekkan contohnya.

    Alat lain di kelompok yang sama