UltraConvert
Alat Teks

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

Cara menggunakan

  1. 1

    Masukkan pola Anda

    Ketik pola regex tanpa garis miring di awal/akhir — hanya tubuh pola. Gunakan sintaks regex JavaScript standar.

  2. 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. 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. 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. 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

Pertanyaan yang sering diajukan

Apakah ini mendukung fitur khusus PCRE?
Ini menggunakan RegExp JavaScript. Browser modern mendukung fitur ES2018+: lookbehind (?<=...), grup bernama (?<name>...), dan escape properti Unicode \p{...}. Ini berfungsi di browser saat ini.
Bagaimana dengan injeksi regex jika saya menempelkan pola yang tidak dipercaya?
Batas waktu 200ms per upaya pencocokan mencegah serangan backtracking katastropik (ReDoS). Pola yang akan berjalan selamanya akan diinterupsi dengan aman.
Mengapa pola saya cocok berbeda daripada di Python/PHP/Java?
Bahasa yang berbeda memiliki rasa regex yang sedikit berbeda. JavaScript tidak memiliki beberapa fitur (atomic groups, possessive quantifiers) dan memiliki perilaku yang sedikit berbeda untuk beberapa kasus tepi. Alat ini menampilkan perilaku JavaScript.
Apakah saya bisa menyimpan atau membagikan regex saya?
Saat ini pola tidak dapat disimpan di alat ini. Salin pola dan bendera secara manual untuk membagikan atau menyimpan. Berbagi berbasis URL ada dalam rencana.

Alat terkait