Uji ungkapan biasa dengan sorotan padanan masa nyata, pengesahan corak, dan penjelasan simbol regex yang biasa. Simpan dan gunakan semula corak yang sering anda gunakan dengan label khusus.
Masukkan corak dan teks ujian untuk melihat keputusan
Masukkan corak dan teks ujian untuk melihat keputusan
Tiada corak tersimpan lagi
.
Padan dengan mana-mana watak kecuali baris baru\d
Padan dengan mana-mana digit (0-9)\D
Padan dengan mana-mana bukan digit\w
Padan dengan mana-mana watak perkataan (a-z, A-Z, 0-9, _)\W
Padan dengan mana-mana bukan watak perkataan\s
Padan dengan mana-mana watak ruang\S
Padan dengan mana-mana bukan watak ruang^
Padan dengan permulaan baris$
Padan dengan akhir baris*
Padan dengan 0 atau lebih daripada watak sebelumnya+
Padan dengan 1 atau lebih daripada watak sebelumnya?
Padan dengan 0 atau 1 daripada watak sebelumnya{n}
Padan dengan tepat n daripada watak sebelumnya{n,}
Padan dengan sekurang-kurangnya n daripada watak sebelumnya{n,m}
Padan dengan antara n dan m daripada watak sebelumnya[abc]
Padan dengan mana-mana satu daripada watak dalam kurungan[^abc]
Padan dengan mana-mana watak yang tidak dalam kurungan(abc)
Mengumpulkan beberapa token bersama dan menangkap padanana|b
Padan dengan sama ada a atau b\b
Padan dengan posisi sempadan perkataanPenguji pola Ekspresi Reguler (regex) adalah alat penting bagi pemaju, penganalisis data, dan sesiapa yang bekerja dengan pemprosesan teks. Pengesah pola regex yang komprehensif ini membolehkan anda mencipta, menguji, dan memperhalusi ekspresi reguler secara masa nyata, memberikan maklum balas visual segera mengenai padanan pola. Sama ada anda mengesahkan alamat email, menganalisis fail log, atau mengekstrak data tertentu dari teks, penguji regex kami menjadikan proses pembangunan dan penyahpepijatan lebih cepat dan intuitif.
Ekspresi reguler adalah urutan pola pencocokan yang kuat yang membolehkan pencarian, pengesahan, dan manipulasi teks yang canggih. Namun, sintaksnya boleh menjadi kompleks dan mencabar untuk dikuasai. Penguji pola regex ini menyederhanakan proses dengan menyorot padanan semasa anda menaip, mengesahkan sintaks pola, dan membolehkan anda menyimpan pola yang sering digunakan untuk rujukan masa depan.
Menggunakan pengesah pola regex kami adalah mudah dan intuitif. Ikuti langkah-langkah ini untuk mula:
Masukkan Pola Ekspresi Reguler: Taipkan pola regex anda di medan input yang ditetapkan. Alat ini mengesahkan pola anda secara masa nyata, memberi amaran kepada anda tentang sebarang ralat sintaks.
Pilih Bendera Regex: Pilih bendera yang sesuai untuk pola anda:
g
(Global): Cari semua padanan dan bukannya berhenti selepas padanan pertamai
(Tidak Sensitif Kes): Jadikan pola tidak sensitif kesm
(Multiline): Jadikan ^
dan $
padan dengan permulaan/akhir setiap barisMasukkan Teks Uji: Masukkan teks yang ingin anda uji terhadap pola anda di kawasan teks uji.
Lihat Hasil Secara Masa Nyata: Semasa anda menaip, alat ini secara automatik:
Simpan Pola Berguna: Untuk pola yang anda gunakan dengan kerap:
Salin Hasil: Gunakan butang "Salin Padanan" untuk menyalin semua teks yang dipadankan ke papan klip anda untuk digunakan dalam aplikasi lain.
Antara muka dibahagikan kepada dua panel utama: panel input di mana anda memasukkan pola dan teks uji, dan panel hasil yang memaparkan padanan dan maklumat pola.
Ekspresi reguler menggunakan watak dan urutan khas untuk mendefinisikan pola pencarian. Berikut adalah panduan kepada simbol regex asas yang disokong oleh alat kami:
Simbol | Penerangan | Contoh | Padanan |
---|---|---|---|
. | Mencocokkan mana-mana watak kecuali newline | a.c | "abc", "adc", "a1c", dll. |
\d | Mencocokkan mana-mana digit (0-9) | \d{3} | "123", "456", "789", dll. |
\D | Mencocokkan mana-mana bukan digit | \D+ | "abc", "xyz", dll. |
\w | Mencocokkan mana-mana watak perkataan (a-z, A-Z, 0-9, _) | \w+ | "abc123", "test_123", dll. |
\W | Mencocokkan mana-mana bukan watak perkataan | \W+ | "!@#", " + ", dll. |
\s | Mencocokkan mana-mana watak ruang | a\sb | "a b", "a\tb", dll. |
\S | Mencocokkan mana-mana bukan watak ruang | \S+ | "abc", "123", dll. |
Simbol | Penerangan | Contoh | Padanan |
---|---|---|---|
^ | Mencocokkan permulaan baris | ^abc | "abc" di permulaan baris |
$ | Mencocokkan akhir baris | abc$ | "abc" di akhir baris |
\b | Mencocokkan sempadan perkataan | \bword\b | "word" sebagai perkataan lengkap |
Simbol | Penerangan | Contoh | Padanan |
---|---|---|---|
* | Mencocokkan 0 atau lebih daripada watak yang mendahului | a*b | "b", "ab", "aab", dll. |
+ | Mencocokkan 1 atau lebih daripada watak yang mendahului | a+b | "ab", "aab", "aaab", dll. |
? | Mencocokkan 0 atau 1 daripada watak yang mendahului | colou?r | "color", "colour" |
{n} | Mencocokkan tepat n daripada watak yang mendahului | a{3} | "aaa" |
{n,} | Mencocokkan sekurang-kurangnya n daripada watak yang mendahului | a{2,} | "aa", "aaa", "aaaa", dll. |
{n,m} | Mencocokkan antara n dan m daripada watak yang mendahului | a{2,4} | "aa", "aaa", "aaaa" |
Simbol | Penerangan | Contoh | Padanan |
---|---|---|---|
[abc] | Mencocokkan mana-mana satu daripada watak dalam kurungan | [aeiou] | "a", "e", "i", "o", "u" |
[^abc] | Mencocokkan mana-mana watak yang tidak dalam kurungan | [^aeiou] | Mana-mana watak kecuali "a", "e", "i", "o", "u" |
[a-z] | Mencocokkan mana-mana watak dalam julat | [a-z] | Mana-mana huruf kecil |
Simbol | Penerangan | Contoh | Padanan |
---|---|---|---|
(abc) | Mengelompokkan beberapa token bersama dan menangkap padanan | (abc)+ | "abc", "abcabc", dll. |
a|b | Mencocokkan sama ada a atau b | cat|dog | "cat", "dog" |
Setelah anda menguasai asasnya, anda boleh mencipta pola yang lebih canggih untuk menyelesaikan cabaran pemprosesan teks yang kompleks:
1^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
2
Pola ini mengesahkan alamat email dengan memastikan ia mengikuti format standard: nama pengguna@domain.tld.
1^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$
2
Pola ini mengesahkan URL, termasuk yang dengan atau tanpa protokol http/https.
1^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$
2
Pola ini mencocokkan nombor telefon AS dalam pelbagai format: (123) 456-7890, 123-456-7890, atau 1234567890.
1^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
2
Pola ini mengesahkan tarikh dalam format YYYY-MM-DD, dengan pengesahan asas untuk julat bulan dan hari.
Pernyataan lookahead dan lookbehind membolehkan anda mencocokkan pola hanya jika ia diikuti oleh atau didahului oleh pola lain:
a(?=b)
mencocokkan "a" hanya jika diikuti oleh "b"a(?!b)
mencocokkan "a" hanya jika tidak diikuti oleh "b"(?<=a)b
mencocokkan "b" hanya jika didahului oleh "a"(?<!a)b
mencocokkan "b" hanya jika tidak didahului oleh "a"Penguji regex kami menyokong pelbagai bendera yang mengubah cara pola dipadankan:
^
dan $
padan dengan permulaan/akhir setiap barisEkspresi reguler mempunyai banyak aplikasi praktikal di pelbagai bidang:
Pengesahan Borang: Pastikan input pengguna padan dengan format yang diperlukan:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
Penganalisis HTML: Ekstrak elemen atau atribut tertentu:
<img[^>]+src="([^">]+)"
<a[^>]+href="([^">]+)"
Analisis Fail Log: Ekstrak maklumat dari entri log:
\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
ERROR: .*
Pemprosesan CSV: Proses nilai yang dipisahkan dengan koma dengan potensi medan yang dipetik:
(?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))
Cari dan Ganti: Kenal pasti pola untuk penggantian:
<[^>]*>
(\d{3})(\d{3})(\d{4})
→ ($1) $2-$3
Ekstraksi Kandungan: Tarik maklumat tertentu dari teks tidak terstruktur:
\b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},\s+\d{4}\b
\$\d+(?:\.\d{2})?
Penyorotan Sintaks: Kenal pasti struktur bahasa:
\b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
function\s+([a-zA-Z_$][\w$]*)\s*\(
Refactoring Kod: Cari pola yang perlu dikemas kini:
\.oldMethod\(
eval\(
Penguji pola regex kami termasuk sistem pengurusan pola yang membolehkan anda menyimpan dan menggunakan semula ekspresi yang sering anda gunakan:
Pertimbangkan untuk menyimpan pola yang:
Apabila menyimpan pola, gunakan label deskriptif yang:
Atur pola yang disimpan anda dengan:
Walaupun alat kami tidak menyokong perkongsian pola secara langsung antara pengguna, anda boleh:
Walaupun pemaju berpengalaman menghadapi cabaran dengan ekspresi reguler. Berikut adalah penyelesaian kepada masalah umum:
Jika pola anda menunjukkan ralat pengesahan:
Jika regex anda lambat atau menyebabkan lag pelayar:
(a+)+
)Jika pola anda mencocokkan teks yang tidak diingini:
^
dan $
) untuk mencocokkan keseluruhan string\b
) di tempat yang sesuaiJika pola anda tidak mencocokkan teks yang diharapkan:
i
)Walaupun regex sangat kuat, ia tidak selalu menjadi penyelesaian terbaik untuk setiap tugas pemprosesan teks:
Untuk operasi teks yang mudah, kaedah string asli sering lebih jelas dan lebih cekap:
String.indexOf()
untuk mencari substringString.startsWith()
dan String.endsWith()
untuk memeriksa sempadan stringString.split()
untuk pengtokenan asasUntuk format data yang terstruktur, penganalisis khusus lebih kukuh:
Untuk memahami makna teks daripada hanya pola:
Pertimbangkan alternatif kepada regex apabila:
Ekspresi reguler (regex) adalah urutan watak yang mendefinisikan pola pencarian. Pola ini boleh digunakan untuk pencarian string, pencocokan, dan operasi manipulasi teks.
Penguji pola regex membantu anda membangunkan dan menyahpepijat ekspresi reguler dengan memberikan maklum balas visual segera mengenai padanan, mengesahkan sintaks pola, dan membolehkan anda bereksperimen dengan pelbagai pola dan bendera tanpa perlu melaksanakannya dalam kod terlebih dahulu.
Untuk mencocokkan watak khas literal yang biasanya mempunyai makna khas dalam regex, anda perlu mengubah suai mereka dengan backslash. Sebagai contoh, untuk mencocokkan titik literal, gunakan \.
dan bukannya hanya .
.
.*
dan .*?
dalam pola regex?.*
adalah pengkuantiti tamak yang mencocokkan sebanyak mungkin watak, manakala .*?
adalah pengkuantiti malas (tidak tamak) yang mencocokkan seberapa sedikit watak yang mungkin. Perbezaan ini penting apabila anda ingin mencari padanan terpendek daripada yang terpanjang.
Walaupun sintaks regex teras adalah serupa di banyak bahasa, terdapat perbezaan halus dalam pelaksanaan. Penguji kami menggunakan enjin regex JavaScript, yang serasi dengan banyak bahasa web tetapi mungkin mempunyai perbezaan daripada regex dalam bahasa seperti Python, Java, atau Perl.
Untuk mengesahkan bahawa keseluruhan string padan dengan pola, gunakan penanda ^
di awal dan penanda $
di akhir regex anda. Sebagai contoh, ^[0-9]+$
hanya akan mencocokkan string yang terdiri sepenuhnya daripada digit.
Kumpulan penangkapan, yang dibuat dengan tanda kurung ()
, membolehkan anda mengekstrak bahagian tertentu daripada teks yang dipadankan. Dalam penguji kami, anda boleh melihat semua padanan, termasuk kumpulan yang ditangkap. Dalam bahasa pengaturcaraan, anda biasanya boleh mengakses tangkapan ini melalui pengindeksan hasil padanan.
Untuk meningkatkan kecekapan regex: jadikan kelas watak lebih spesifik, elakkan kumpulan penangkapan yang tidak perlu (gunakan kumpulan tidak menangkap (?:...)
apabila mungkin), hadkan penggunaan lookahead/lookbehind, dan elakkan pola yang menyebabkan backtracking yang bencana seperti kuantiti bersarang.
Kesilapan biasa termasuk: tidak mengubah suai watak khas, mencipta pola yang terlalu tamak, melupakan untuk menandakan pola (dengan ^
dan $
), dan menulis ungkapan yang terlalu kompleks yang sukar untuk diselenggara.
Ekspresi reguler tidak sesuai untuk menganalisis struktur bersarang seperti HTML atau XML. Walaupun anda boleh mencipta pola regex untuk pencocokan HTML yang mudah, secara amnya lebih baik menggunakan penganalisis HTML khusus untuk pemprosesan HTML yang kompleks.
Cuba penguji pola regex kami hari ini untuk menyederhanakan tugas pemprosesan teks anda, mengesahkan format input, dan mengekstrak data yang bermakna dari teks tidak terstruktur. Sama ada anda seorang pemula yang mempelajari asas-asas ekspresi reguler atau pemaju berpengalaman yang bekerja pada pencocokan pola yang kompleks, alat kami menyediakan ciri yang anda perlukan untuk mencipta, menguji, dan memperhalusi pola regex anda dengan cekap.
Temui lebih banyak alat yang mungkin berguna untuk aliran kerja anda