Pembangun

Penguji Regex

Tulis corak regex, tampal teks ujian anda, dan lihat setiap padanan diserlahkan secara langsung semasa anda menaip. Berhenti meneka sama ada corak anda berfungsi — lihat ia berfungsi.

Adakah kalkulator ini membantu anda?

Apakah Penguji Regex?

Regex Tester adalah alat pembangunan penting yang membolehkan anda menguji ungkapan nalar terhadap teks sampel secara masa nyata, memberikan maklum balas visual segera tentang sepadanan pola anda. Ungkapan nalar, biasa dikenali sebagai regex, adalah pola berdasarkan urutan yang digunakan untuk carian, pengesahan, pengekstrakan dan pengendalian teks dalam hampir semua bahasa pengaturcaraan dan penyunting teks.

Bila Menggunakan Kalkulator Ini

  • Mengesahkan input pengguna dalam borang web.
  • Mendebug sepadanan yang gagal.
  • Mempelajari sintaks regex secara interaktif.
  • Mengekstrak data khusus dari teks.
  • Membina pola carian dan penggantian.
  • Memverifikasi pengesahan borang.

Langkah:

  1. Masukkan corak regex anda dalam medan input corak menggunakan sintaks regex standard — sebagai contoh, \d{3}-\d{4} untuk memadankan nombor telefon atau ^[\w.-]+@[\w.-]+\.\w{2,}$ untuk pengesahan e-mel
  2. Pilih bendera yang sesuai.
  3. Taip atau tampal teks ujian.
  4. Semak panel hasil.
  5. Gunakan panel helaian rujukan.

Rumus

Corak + Bendera → RegExp → Jalankan terhadap Teks Ujian → Tatasusunan padanan Corak biasa: - \d+ → satu atau lebih digit - [a-zA-Z]+ → satu atau lebih huruf - ^…$ → sauh untuk permulaan/penghujung - (…) → kumpulan tangkapan

Kes Penggunaan

  • Mengesahkan alamat e-mel, nombor telefon, URL
  • Mengekstrak corak daripada teks (tarikh, harga, ID)
  • Operasi cari dan ganti dalam penyunting teks
  • Pengesahan input dalam borang web

Faedah Utama

  • Uji pola regex serta-merta dengan penyorotan masa nyata
  • Lihat semua sepadanan dengan kedudukan dan kumpulan tangkapan
  • Sokongan untuk semua bendera regex standard
  • Helaian rujukan regex terbina dalam
  • Berfungsi sepenuhnya dalam pelayar
  • Percuma tanpa pendaftaran

Tips Pro

  • Sentiasa uji dengan teks sepadan dan tidak sepadan.
  • Mulakan dengan pola paling mudah.
  • Gunakan kumpulan tangkapan bernama.
  • Ingat bahawa titik (.) secara lalai tidak sepadan dengan baris baharu.
  • Uji kes sempadan.

Kesilapan Biasa

  • Lupa mengescape aksara khas.
  • Melepaskan bendera global (g).
  • Menggunakan quantifier tamak apabila malas diperlukan.
  • Tidak menguji kes sempadan.

Istilah Utama

Pola: Ungkapan carian yang ditulis dengan si {3} n {4} taks regex.
Bendera: Pilihan yang mengubah tingkah laku.
Sepadan: Kejayaan berlakunya pola.
Kumpulan tangkapan: Bahagian pola dalam kurungan.
Quantifier: Apa yang menentukan be {n} rapa kali.

Konsep Berkaitan

  • Ungkapan Biasa (Regex): Jujukan aksara yang mentakrifkan corak carian untuk memadankan teks.
  • Kumpulan Tangkapan: Bahagian regex yang dikurung yang mengekstrak bahagian tertentu daripada padanan.
  • Kuantifier: Aksara yang menentukan berapa kali elemen sebelumnya perlu berlaku (cth., +, *, ?, {n}).
  • Sauh: Pengesahan lebar sifar yang padan dengan kedudukan dalam teks dan bukan aksara (^ untuk permulaan, $ untuk penghujung).
  • Lookahead/Lookbehind: Pengesahan lebar sifar yang menyemak corak sebelum atau selepas kedudukan semasa tanpa menggunakan teks.

Contoh

Corak: ^[\w.-]+@[\w.-]+\.\w{2,}$ dengan teks ujian: "Hubungi kami di [email protected] atau [email protected]" memadankan kedua-dua alamat e-mel dan memaparkannya dalam senarai keputusan.

Mentafsir Hasil

Mulakan dengan melihat bilangan sepadanan dan teks yang disorot. Jika anda menjangkakan sepadanan tetapi tidak melihatnya, semak: (1) Adakah bendera global (g) ditetapkan? (2) Adakah anda mengescape aksara khas dengan betul? (3) Adakah sauh anda betul? Panel kumpulan tangkapan menunjukkan apa yang ditangkap oleh setiap bahagian pola dalam kurungan.

Soalan Lazim

Apakah ungkapan biasa?
Regex ialah jujukan aksara yang mentakrifkan corak carian. Ia digunakan untuk pemadanan corak dalam teks, seperti mencari alamat e-mel, mengesahkan input, atau mengekstrak data daripada rentetan.
Enjin regex apakah yang digunakan alat ini?
Alat ini menggunakan enjin RegExp terbina dalam JavaScript, yang menyokong kebanyakan ciri regex standard termasuk kumpulan, lookahead, kuantifier, dan kelas aksara.
Apakah bendera regex yang biasa?
g (global): Mencari semua padanan, bukan hanya yang pertama. i (tidak peka huruf besar/kecil): Mengabaikan huruf besar/kecil. m (berbilang baris): ^ dan $ padan dengan sempadan baris. s (dotall): . turut padan dengan baris baharu.
Mengapakah regex saya tidak menemui padanan?
Masalah biasa: bendera g tiada untuk pelbagai padanan, aksara khas tidak di-escape (., *, +, ?, [, ], (, )), atau penggunaan kuantifier yang salah.
Apakah ungkapan biasa (regex)?
Ungkapan biasa (regex) ialah corak yang digunakan untuk memadankan kombinasi aksara dalam rentetan. Ia merupakan alat berkuasa untuk carian, pengesahan, dan manipulasi teks. Regex menggunakan aksara khas seperti . * + ? ^ $ [] () {} | untuk mentakrifkan corak.
Apakah maksud simbol ^ dalam regex?
Dalam regex, ^ mempunyai dua maksud: dalam kelas aksara [^abc], ia bermaksud 'bukan' (penafian). Di luar kelas aksara, ia menambatkan corak ke permulaan rentetan. Contohnya, ^helo hanya padan dengan 'helo' pada permulaan rentetan.
Apakah perbezaan antara * dan + dalam regex?
Kedua-duanya ialah kuantifier: * padan dengan sifar atau lebih kemunculan (pilihan), manakala + padan dengan satu atau lebih kemunculan (wajib). Jadi 'ab*c' padan dengan 'ac', 'abc', 'abbc', dsb., manakala 'ab+c' padan dengan 'abc', 'abbc', tetapi TIDAK 'ac'.
Bagaimanakah saya memadankan noktah literal (.) dalam regex?
Noktah (.) ialah aksara khas yang bermaksud 'sebarang aksara'. Untuk memadankan noktah literal, escape ia dengan garis miring belakang: \. Contohnya, corak www\.contoh\.com padan tepat dengan URL tersebut, bukan 'wwwXcontohYcom'.
Apakah kumpulan tangkapan?
Kumpulan tangkapan ialah bahagian regex yang dikurung dalam tanda kurung (). Ia 'menangkap' teks yang padan untuk kegunaan kemudian. Contohnya, (\d{4})-(\d{2})-(\d{2}) menangkap tahun, bulan, dan hari secara berasingan daripada rentetan tarikh seperti 2024-01-15.
Apakah perbezaan antara pemadanan greedy dan lazy?
Kuantifier greedy (* + ? {}) memadankan teks sebanyak mungkin. Kuantifier lazy (*? +? ?? {}) memadankan teks sesedikit mungkin. Contohnya, <.*> padan sepenuhnya dengan '<div>kandungan</div>' (greedy), manakala <.*?> padan secara berasingan dengan '<div>' dan '</div>' (lazy).
Bagaimanakah saya mengesahkan e-mel dengan regex?
Corak e-mel asas: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ Ini padan dengan kebanyakan e-mel yang sah tetapi tidak merangkumi semua kes tepi. Untuk kegunaan produksi, pertimbangkan pustaka pengesahan e-mel khusus yang mengendalikan domain antarabangsa dan aksara khas.

Terokai Lebih Banyak Alat

Pilihan segar dari seluruh perpustakaan alat kami.