Penguji Regex

Uji ungkapan nalar JavaScript terhadap contoh teks, terus dalam penyemak imbas anda.

Corak
Bendera
Rentetan ujian
Padanan yang disorot
Masukkan corak untuk mengujinya.

Corak dan teks anda diuji dalam penyemak imbas anda. Tiada apa-apa yang dimuat naik ke BroBroGo.

Soalan Lazim

Adakah selamat untuk menampal teks saya di sini?

Ya. Pemadanan berlaku sepenuhnya dalam penyemak imbas anda — tiada apa-apa yang dihantar ke BroBroGo.

Apakah maksud bendera g/i/m/s?

g mencari setiap padanan dan bukannya yang pertama sahaja. i mengabaikan saiz huruf (case-insensitive). m menjadikan ^ dan $ sepadan dengan permulaan dan penghujung setiap baris dan bukannya keseluruhan rentetan. s membolehkan . sepadan dengan pemisah baris juga.

Mengapakah ia menyatakan corak saya mengambil masa terlalu lama?

Sesetengah corak mencetuskan penjejakan ke belakang yang teruk (catastrophic backtracking) — enjin mencuba jumlah kombinasi eksponen sebelum menyerah kalah, yang boleh membekukan tab penyemak imbas. Alat ini membatalkan pemadanan selepas 2 saat jika perkara itu berlaku, jadi halaman itu sendiri tidak akan terkunci. Cuba permudahkan pengulangan bersarang seperti (a+)+.

Pengenalan kepada Ungkapan Nalar JavaScript

Ungkapan nalar, atau lebih dikenali sebagai regular expression (regex), ialah corak yang digunakan untuk memadankan gabungan aksara dalam rentetan teks. Dalam pembangunan web, alat ini sangat penting untuk mengesahkan input pengguna, mencari corak teks tertentu, atau mengekstrak maklumat daripada data mentah. Penguji Regex menyediakan platform untuk menguji ungkapan nalar JavaScript secara langsung terhadap contoh teks pilihan anda.

Proses pengujian ini membantu anda memahami bagaimana enjin regex JavaScript mentafsirkan corak yang ditulis sebelum anda melaksanakannya dalam kod aplikasi. Dengan melihat hasil padanan secara langsung, anda boleh mengenal pasti sama ada corak tersebut berfungsi seperti yang diharapkan atau memerlukan pengubahsuaian.

Mengkonfigurasi Input Corak dan Bendera

Untuk memulakan ujian, anda perlu memasukkan dua komponen utama pada bahagian input alat ini:

  1. Corak: Ungkapan nalar yang ingin diuji. Contoh pemegang tempat yang disediakan ialah \d+ untuk memadankan satu atau lebih digit.
  2. Bendera: Pilihan konfigurasi yang mengubah cara enjin regex mencari padanan dalam teks. Anda boleh mengaktifkan satu atau beberapa bendera berikut:
    • g (Global): Mencari setiap padanan dalam keseluruhan teks, dan bukannya berhenti selepas menemui padanan yang pertama sahaja. Jika bendera ini tidak dipilih, alat hanya akan mengembalikan padanan pertama.
    • i (Tidak sensitif huruf): Mengabaikan perbezaan antara huruf besar dan huruf kecil semasa proses pemadanan.
    • m (Pelbagai baris): Mengubah tingkah laku aksara sauh ^ dan $ supaya sepadan dengan permulaan dan penghujung setiap baris individu, bukan hanya permulaan dan penghujung keseluruhan rentetan teks.
    • s (Titik sepadan dengan baris baharu): Membolehkan aksara titik . sepadan dengan aksara pemisah baris (newline).

Seterusnya, anda perlu memasukkan teks contoh ke dalam bahagian Rentetan ujian. Pemegang tempat asal untuk bahagian ini ialah "Tampal atau taip teks untuk menguji corak anda".

Memahami Output dan Kumpulan Tangkapan

Sebaik sahaja corak dan rentetan ujian dimasukkan, alat ini akan memproses input tersebut dan memaparkan output secara serta-merta. Output yang dihasilkan merangkumi beberapa elemen penting:

  • Padanan yang disorot: Teks ujian anda akan dipaparkan semula dengan setiap bahagian yang sepadan ditandakan secara visual.
  • Padanan: Senarai lengkap bagi setiap hasil padanan yang ditemui. Jika corak anda mengandungi kumpulan tangkapan (capturing groups), setiap kumpulan tersebut akan disenaraikan di bawah padanan berkenaan dengan label seperti Kumpulan {n} (di mana {n} mewakili nombor kumpulan).
  • Padanan: {count}: Memaparkan jumlah keseluruhan padanan yang berjaya ditemui dalam teks.
  • Aksara: Menunjukkan bilangan aksara bagi teks yang diuji.

Peraturan Pemprosesan dan Had Paparan

Alat ini beroperasi mengikut beberapa peraturan khusus untuk mengendalikan pelbagai situasi input dan prestasi:

  • Tiada Padanan: Jika corak yang dimasukkan tidak menemui sebarang persamaan dalam teks, sistem akan memaparkan mesej "Tiada padanan.".
  • Ralat Sintaks: Sekiranya ungkapan nalar yang ditulis mengandungi ralat sintaks JavaScript, alat akan memaparkan "Ungkapan nalar (regular expression) tidak sah.".
  • Had Padanan Global: Apabila bendera 'g' diaktifkan, alat ini mengehadkan carian kepada maksimum 1,000 padanan sahaja. Seterusnya, maksimum 100 kad padanan sahaja yang akan dipaparkan pada skrin. Jika had ini dilepasi, nota "Memaparkan {max} yang pertama." akan ditunjukkan.
  • Fungsi Kosongkan: Anda boleh menetapkan semula keseluruhan alat dengan menekan butang "Kosongkan", yang akan mengosongkan semua medan input dan memaparkan mesej "Dikosongkan.".

Menangani Masalah Prestasi dan Penjejakan ke Belakang

Salah satu isu utama dalam penulisan ungkapan nalar ialah kelembapan prestasi yang disebabkan oleh penjejakan ke belakang yang melampau (catastrophic backtracking). Keadaan ini biasanya berlaku apabila corak regex mengandungi pengulangan bersarang yang kompleks, seperti (a+)+, yang memaksa enjin mencuba jumlah kombinasi yang sangat banyak (eksponen) sebelum menentukan sama ada teks tersebut sepadan atau tidak.

Untuk mengelakkan tab penyemak imbas anda daripada membeku atau terkunci akibat proses yang tidak berkesudahan ini, alat ini dilengkapi dengan fungsi pembatalan automatik. Jika sesuatu corak mengambil masa lebih daripada 2 saat untuk diproses, alat akan membatalkan operasi pemadanan serta-merta dan memaparkan amaran: "Corak ini mengambil masa terlalu lama untuk dijalankan — ia mungkin sangat perlahan. Cuba permudahkan corak tersebut.".

Privasi Data dan Pemprosesan Tempatan

Apabila menggunakan alat ini, keselamatan data anda adalah terpelihara. Corak regex dan teks ujian yang anda masukkan diproses sepenuhnya di dalam penyemak imbas web anda sendiri. Tiada sebarang data atau maklumat yang dimuat naik ke pelayan BroBroGo.


Soalan Lazim

Adakah selamat untuk menampal teks saya di sini?
Ya. Pemadanan berlaku sepenuhnya dalam penyemak imbas anda — tiada apa-apa yang dihantar ke BroBroGo.

Apakah maksud bendera g/i/m/s?
g mencari setiap padanan dan bukannya yang pertama sahaja. i mengabaikan saiz huruf (case-insensitive). m menjadikan ^ dan $ sepadan dengan permulaan dan penghujung setiap baris dan bukannya keseluruhan rentetan. s membolehkan. sepadan dengan pemisah baris juga.

Mengapakah ia menyatakan corak saya mengambil masa terlalu lama?
Sesetengah corak mencetuskan penjejakan ke belakang yang teruk (catastrophic backtracking) — enjin mencuba jumlah kombinasi eksponen sebelum menyerah kalah, yang boleh membekukan tab penyemak imbas. Alat ini membatalkan pemadanan selepas 2 saat jika perkara itu berlaku, jadi halaman itu sendiri tidak akan terkunci. Cuba permudahkan pengulangan bersarang seperti (a+)+.