Penguji Regex

Uji ungkapan biasa terhadap teks anda

Padanan disorot
2 padanan

Mengapa uji regex di pelayar?

Enjin regex berbeza secara halus antara bahasa: PCRE (PHP), POSIX (grep), Perl, `re` Python, dan regex JavaScript mempunyai set ciri yang berbeza. Ujian di pelayar menggunakan enjin JavaScript — tepat seperti yang berjalan dalam kod sisi klien anda, dalam Node.js, atau dalam peraturan pengesahan Inertia.

Penguji menyorot padanan semasa anda menaip, menyenaraikan kumpulan tangkapan bagi setiap padanan, dan menunjukkan bendera regex yang sedang berkuatkuasa. Pola yang buruk menunjukkan ralat sintaks yang jelas dan bukannya gagal secara senyap.

Kes penggunaan

  • Ekstrak medan daripada log — tarik ID permintaan, IP atau cap masa keluar dari baris log tidak berstruktur.
  • Sahkan input pengguna — periksa e-mel, poskod atau nombor telefon sebelum borang dihantar.
  • Cari-ganti pukal — sapu salinan kod sumber atau markdown untuk menamakan semula corak dengan pemegang tempat kumpulan tangkap.
  • Tapis data sensitif — tanggalkan e-mel, JWT atau nombor kad kredit daripada log sebelum berkongsi tangkapan skrin.

Contoh

Extracting emails with capture groups
Input
Pattern: \b([\w.]+)@([\w.]+)\.([a-z]{2,})\b
Flags: gi
Text: Contact [email protected] or [email protected]
Output
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: org

Soalan yang sering ditanya

Flavour regex manakah yang disokong?

Regex JavaScript / ECMAScript. Menyokong lookbehind dalam pelayar moden, kumpulan bernama (`(?<name>...)`), mod Unicode (`u` flag), dan padanan melekit (`y` flag).

Mengapa pola PCRE saya tidak berfungsi?

PCRE mempunyai ciri yang tidak dimiliki oleh regex JavaScript: pola rekursif, pengkuantifikasi milik, pola bersyarat. JavaScript memenuhi kebanyakan keperluan harian tetapi tidak kes-kes lanjutan tersebut.

Bagaimana kumpulan tangkapan berfungsi?

Kedua-dua tanda kurung di sekitar bahagian pola mencipta kumpulan tangkapan bernombor. Dalam padanan, kumpulan 1 adalah yang pertama `(...)`, kumpulan 2 yang kedua, dan seterusnya. Gunakan `(?:...)` untuk kumpulan yang tidak menangkap.

Adakah regex gelung tak berkesudahan akan menggantung pelayar?

Backtracking yang bencana boleh membekukan tab seketika. Penguji berjalan dalam tab anda jadi pola yang buruk hanya mempengaruhi alat ini — tutup dan buka semula jika perlu.

Adakah pola atau teks ujian saya dimuat naik?

Tidak — kedua-duanya kekal dalam pelayar anda.