Uji ekspresi reguler dengan sorotan pencocokan waktu nyata, validasi pola, dan penjelasan simbol regex umum. Simpan dan gunakan kembali pola yang sering Anda gunakan dengan label khusus.
Masukkan pola dan teks uji untuk melihat hasil
Masukkan pola dan teks uji untuk melihat hasil
Belum ada pola yang disimpan
.
Cocok dengan karakter apa pun kecuali newline\d
Cocok dengan digit apa pun (0-9)\D
Cocok dengan non-digit\w
Cocok dengan karakter kata apa pun (a-z, A-Z, 0-9, _)\W
Cocok dengan karakter non-kata\s
Cocok dengan karakter spasi apa pun\S
Cocok dengan karakter non-spasi^
Cocok dengan awal baris$
Cocok dengan akhir baris*
Cocok dengan 0 atau lebih dari karakter sebelumnya+
Cocok dengan 1 atau lebih dari karakter sebelumnya?
Cocok dengan 0 atau 1 dari karakter sebelumnya{n}
Cocok dengan tepat n dari karakter sebelumnya{n,}
Cocok dengan setidaknya n dari karakter sebelumnya{n,m}
Cocok dengan antara n dan m dari karakter sebelumnya[abc]
Cocok dengan salah satu karakter dalam tanda kurung[^abc]
Cocok dengan karakter yang tidak ada dalam tanda kurung(abc)
Mengelompokkan beberapa token bersama dan menangkap kecocokana|b
Cocok dengan a atau b\b
Cocok dengan posisi batas kataPenguji pola Ekspresi Reguler (regex) adalah alat penting bagi pengembang, analis data, dan siapa saja yang bekerja dengan pemrosesan teks. Validator pola regex yang komprehensif ini memungkinkan Anda untuk membuat, menguji, dan menyempurnakan ekspresi reguler secara real-time, memberikan umpan balik visual langsung tentang kecocokan pola. Apakah Anda memvalidasi alamat email, menganalisis file log, atau mengekstrak data tertentu dari teks, penguji regex kami membuat proses pengembangan dan debugging lebih cepat dan lebih intuitif.
Ekspresi reguler adalah urutan pola pencocokan yang kuat yang memungkinkan pencarian, validasi, dan manipulasi teks yang canggih. Namun, sintaksnya bisa kompleks dan sulit untuk dikuasai. Penguji pola regex ini menyederhanakan proses dengan menyoroti kecocokan saat Anda mengetik, memvalidasi sintaks pola, dan memungkinkan Anda menyimpan pola yang sering digunakan untuk referensi di masa mendatang.
Menggunakan validator pola regex kami sangat sederhana dan intuitif. Ikuti langkah-langkah ini untuk memulai:
Masukkan Pola Ekspresi Reguler: Ketik pola regex Anda di bidang input yang ditentukan. Alat ini memvalidasi pola Anda secara real-time, memberi tahu Anda tentang kesalahan sintaks.
Pilih Bendera Regex: Pilih bendera yang sesuai untuk pola Anda:
g
(Global): Temukan semua kecocokan daripada berhenti setelah kecocokan pertamai
(Tidak Sensitif Terhadap Huruf Besar): Membuat pola tidak sensitif terhadap huruf besarm
(Multiline): Membuat ^
dan $
mencocokkan awal/akhir setiap barisMasukkan Teks Uji: Masukkan teks yang ingin Anda uji terhadap pola Anda di area teks uji.
Lihat Hasil Secara Real-Time: Saat Anda mengetik, alat secara otomatis:
Simpan Pola Berguna: Untuk pola yang Anda gunakan sering:
Salin Hasil: Gunakan tombol "Salin Kecocokan" untuk menyalin semua teks yang cocok ke clipboard Anda untuk digunakan di aplikasi lain.
Antarmuka dibagi menjadi dua panel utama: panel input tempat Anda memasukkan pola dan teks uji, dan panel hasil yang menampilkan kecocokan dan informasi pola.
Ekspresi reguler menggunakan karakter dan urutan khusus untuk mendefinisikan pola pencarian. Berikut adalah panduan untuk simbol regex dasar yang didukung oleh alat kami:
Simbol | Deskripsi | Contoh | Kecocokan |
---|---|---|---|
. | Mencocokkan karakter apa pun kecuali newline | a.c | "abc", "adc", "a1c", dll. |
\d | Mencocokkan digit apa pun (0-9) | \d{3} | "123", "456", "789", dll. |
\D | Mencocokkan non-digit apa pun | \D+ | "abc", "xyz", dll. |
\w | Mencocokkan karakter kata apa pun (a-z, A-Z, 0-9, _) | \w+ | "abc123", "test_123", dll. |
\W | Mencocokkan non-karakter kata apa pun | \W+ | "!@#", " + ", dll. |
\s | Mencocokkan karakter whitespace apa pun | a\sb | "a b", "a\tb", dll. |
\S | Mencocokkan non-whitespace apa pun | \S+ | "abc", "123", dll. |
Simbol | Deskripsi | Contoh | Kecocokan |
---|---|---|---|
^ | Mencocokkan awal baris | ^abc | "abc" di awal baris |
$ | Mencocokkan akhir baris | abc$ | "abc" di akhir baris |
\b | Mencocokkan batas kata | \bword\b | "word" sebagai kata lengkap |
Simbol | Deskripsi | Contoh | Kecocokan |
---|---|---|---|
* | Mencocokkan 0 atau lebih dari karakter sebelumnya | a*b | "b", "ab", "aab", dll. |
+ | Mencocokkan 1 atau lebih dari karakter sebelumnya | a+b | "ab", "aab", "aaab", dll. |
? | Mencocokkan 0 atau 1 dari karakter sebelumnya | colou?r | "color", "colour" |
{n} | Mencocokkan tepat n dari karakter sebelumnya | a{3} | "aaa" |
{n,} | Mencocokkan setidaknya n dari karakter sebelumnya | a{2,} | "aa", "aaa", "aaaa", dll. |
{n,m} | Mencocokkan antara n dan m dari karakter sebelumnya | a{2,4} | "aa", "aaa", "aaaa" |
Simbol | Deskripsi | Contoh | Kecocokan |
---|---|---|---|
[abc] | Mencocokkan salah satu karakter dalam kurung | [aeiou] | "a", "e", "i", "o", "u" |
[^abc] | Mencocokkan karakter apa pun yang tidak ada dalam kurung | [^aeiou] | Karakter apa pun kecuali "a", "e", "i", "o", "u" |
[a-z] | Mencocokkan karakter apa pun dalam rentang | [a-z] | Huruf kecil apa pun |
Simbol | Deskripsi | Contoh | Kecocokan |
---|---|---|---|
(abc) | Mengelompokkan beberapa token bersama dan menangkap kecocokan | (abc)+ | "abc", "abcabc", dll. |
a|b | Mencocokkan baik a atau b | cat|dog | "cat", "dog" |
Setelah Anda menguasai dasar-dasarnya, Anda dapat membuat pola yang lebih canggih untuk menyelesaikan tantangan pemrosesan teks yang kompleks:
1^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
2
Pola ini memvalidasi alamat email dengan memastikan mereka mengikuti format standar: username@domain.tld.
1^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$
2
Pola ini memvalidasi URL, termasuk yang dengan atau tanpa protokol http/https.
1^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$
2
Pola ini mencocokkan nomor telepon AS dalam berbagai 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 memvalidasi tanggal dalam format YYYY-MM-DD, dengan validasi dasar untuk rentang bulan dan hari.
Pernyataan lookahead dan lookbehind memungkinkan Anda mencocokkan pola hanya jika 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 mendukung berbagai bendera yang memodifikasi cara pola dicocokkan:
^
dan $
mencocokkan awal/akhir setiap barisEkspresi reguler memiliki banyak aplikasi praktis di berbagai bidang:
Validasi Formulir: Pastikan input pengguna sesuai 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 \.-]*)*\/?$
Parsing HTML: Ekstrak elemen atau atribut tertentu:
<img[^>]+src="([^">]+)"
<a[^>]+href="([^">]+)"
Analisis File Log: Ekstrak informasi 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: .*
Parsing CSV: Proses nilai yang dipisahkan koma dengan kemungkinan bidang yang terkutip:
(?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))
Temukan dan Ganti: Identifikasi pola untuk penggantian:
<[^>]*>
(\d{3})(\d{3})(\d{4})
→ ($1) $2-$3
Ekstraksi Konten: Ambil informasi spesifik dari teks yang 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: Identifikasi konstruksi bahasa:
\b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
function\s+([a-zA-Z_$][\w$]*)\s*\(
Refactoring Kode: Temukan pola yang perlu diperbarui:
\.oldMethod\(
eval\(
Penguji pola regex kami mencakup sistem manajemen pola yang memungkinkan Anda untuk menyimpan dan menggunakan kembali ekspresi yang sering Anda gunakan:
Pertimbangkan untuk menyimpan pola yang:
Saat menyimpan pola, gunakan label deskriptif yang:
Organisir pola yang disimpan Anda dengan:
Sementara alat kami tidak mendukung berbagi pola langsung antar pengguna, Anda dapat:
Bahkan pengembang berpengalaman menghadapi tantangan dengan ekspresi reguler. Berikut adalah solusi untuk masalah umum:
Jika pola Anda menunjukkan kesalahan validasi:
Jika regex Anda lambat atau menyebabkan lag di browser:
(a+)+
)Jika pola Anda mencocokkan teks yang tidak diinginkan:
^
dan $
) untuk mencocokkan string secara keseluruhan\b
) di tempat yang tepatJika pola Anda tidak mencocokkan teks yang diharapkan:
i
)Meskipun regex sangat kuat, itu tidak selalu menjadi solusi terbaik untuk setiap tugas pemrosesan teks:
Untuk operasi teks sederhana, metode string bawaan seringkali lebih jelas dan lebih efisien:
String.indexOf()
untuk menemukan substringString.startsWith()
dan String.endsWith()
untuk memeriksa batas stringString.split()
untuk tokenisasi dasarUntuk format data terstruktur, parser khusus lebih robust:
Untuk memahami makna teks daripada hanya pola:
Pertimbangkan alternatif untuk regex ketika:
Ekspresi reguler (regex) adalah urutan karakter yang mendefinisikan pola pencarian. Pola ini dapat digunakan untuk pencarian string, pencocokan, dan operasi manipulasi teks.
Penguji pola regex membantu Anda mengembangkan dan memperbaiki ekspresi reguler dengan memberikan umpan balik visual langsung tentang kecocokan, memvalidasi sintaks pola, dan memungkinkan Anda bereksperimen dengan pola dan bendera yang berbeda tanpa harus mengimplementasikannya dalam kode terlebih dahulu.
Untuk mencocokkan karakter khusus literal yang biasanya memiliki arti khusus dalam regex, Anda perlu meng-escape mereka dengan backslash. Misalnya, untuk mencocokkan titik literal, gunakan \.
alih-alih hanya .
.
.*
dan .*?
dalam pola regex?.*
adalah kuantifier rakus yang mencocokkan sebanyak mungkin karakter, sedangkan .*?
adalah kuantifier malas (non-rakus) yang mencocokkan sesedikit mungkin karakter. Perbedaan ini penting ketika Anda ingin menemukan kecocokan terpendek daripada terpanjang.
Meskipun sintaks regex inti mirip di banyak bahasa, ada perbedaan halus dalam implementasi. Penguji kami menggunakan mesin regex JavaScript, yang kompatibel dengan banyak bahasa web tetapi mungkin memiliki perbedaan dari regex di bahasa seperti Python, Java, atau Perl.
Untuk memvalidasi bahwa seluruh string mencocokkan pola, gunakan penanda ^
di awal dan penanda $
di akhir regex Anda. Misalnya, ^[0-9]+$
hanya akan mencocokkan string yang terdiri sepenuhnya dari digit.
Grup penangkap, yang dibuat dengan tanda kurung ()
, memungkinkan Anda untuk mengekstrak bagian tertentu dari teks yang dicocokkan. Di penguji kami, Anda dapat melihat semua kecocokan, termasuk grup yang ditangkap. Di bahasa pemrograman, Anda biasanya dapat mengakses penangkapan ini melalui pengindeksan hasil kecocokan.
Untuk meningkatkan efisiensi regex: jadilah spesifik dengan kelas karakter, hindari grup penangkap yang tidak perlu (gunakan grup non-penangkap (?:...)
jika memungkinkan), batasi penggunaan lookahead/lookbehind, dan hindari pola backtracking yang bencana seperti kuantifier bersarang.
Kesalahan umum termasuk: tidak meng-escape karakter khusus, membuat pola yang terlalu rakus, melupakan untuk menandai pola (dengan ^
dan $
), dan menulis ekspresi yang terlalu kompleks yang sulit untuk dipelihara.
Ekspresi reguler tidak cocok untuk mem-parsing struktur bersarang seperti HTML atau XML. Meskipun Anda dapat membuat pola regex untuk pencocokan HTML sederhana, umumnya lebih baik menggunakan parser HTML khusus untuk pemrosesan HTML yang kompleks.
Cobalah penguji pola regex kami hari ini untuk menyederhanakan tugas pemrosesan teks Anda, memvalidasi format input, dan mengekstrak data yang berarti dari teks yang tidak terstruktur. Apakah Anda seorang pemula yang belajar dasar-dasar ekspresi reguler atau pengembang berpengalaman yang bekerja pada pencocokan pola yang kompleks, alat kami menyediakan fitur yang Anda butuhkan untuk membuat, menguji, dan menyempurnakan pola regex Anda secara efisien.
Temukan lebih banyak alat yang mungkin berguna untuk alur kerja Anda