Penguji Regex
Uji ekspresi reguler terhadap teks Anda
- #1 @12: [email protected]
- #2 @33: [email protected]
Mengapa menguji regex di browser?
Mesin regex bervariasi secara halus antara bahasa: PCRE (PHP), POSIX (grep), Perl, `re` Python, dan regex JavaScript memiliki set fitur yang berbeda. Pengujian di browser menggunakan mesin JavaScript — persis apa yang berjalan di kode sisi klien Anda, di Node.js, atau dalam aturan validasi Inertia.
Penguji menyoroti kecocokan saat Anda mengetik, mencantumkan grup tangkapan per kecocokan, dan menunjukkan flag regex yang saat ini berlaku. Pola yang buruk menunjukkan kesalahan sintaks yang jelas alih-alih gagal secara diam-diam.
Kasus penggunaan
- Ekstrak bidang dari log — ambil ID permintaan, IP, atau cap waktu dari baris log yang tidak terstruktur.
- Validasi input pengguna — periksa email, kode pos, atau nomor telepon sebelum mengirimkan formulir.
- Temukan dan ganti massal — sapu tempelan kode sumber atau markdown untuk mengganti nama pola dengan placeholder grup tangkapan.
- Bersihkan data sensitif — hapus email, JWT, atau nomor kartu kredit dari log sebelum membagikan tangkapan layar.
Contoh
Pattern: \b([\w.]+)@([\w.]+)\.([a-z]{2,})\b
Flags: gi
Text: Contact [email protected] or [email protected]Match 1: [email protected]
Group 1: alice
Group 2: example
Group 3: com
Match 2: [email protected]
Group 1: bob
Group 2: test
Group 3: orgPertanyaan yang sering diajukan
Flavour regex mana yang didukung?
Regex JavaScript / ECMAScript. Mendukung lookbehind di browser modern, grup bernama (`(?<name>...)`), mode Unicode (`u` flag), dan pencocokan lengket (`y` flag).
Mengapa pola PCRE saya tidak berfungsi?
PCRE memiliki fitur yang tidak dimiliki regex JavaScript: pola rekursif, kuantifier kepemilikan, pola bersyarat. JavaScript mencakup sebagian besar kebutuhan sehari-hari tetapi tidak untuk kasus-kasus lanjutan tersebut.
Bagaimana grup tangkapan bekerja?
Tanda kurung di sekitar bagian pola membuat grup tangkapan bernomor. Di dalam kecocokan, grup 1 adalah yang pertama `(...)`, grup 2 yang kedua, dll. Gunakan `(?:...)` untuk grup yang tidak menangkap.
Apakah regex loop tak terbatas akan menggantung browser?
Backtracking yang katastrofik dapat membekukan tab secara singkat. Penguji berjalan di tab Anda sehingga pola yang buruk hanya mempengaruhi alat ini — tutup dan buka kembali jika diperlukan.
Apakah pola atau teks uji saya diunggah?
Tidak — keduanya tetap di browser Anda.
