Whiz Tools

Penguji Pola Regex

Salin

Hasil Kecocokan

Masukkan pola dan teks uji untuk melihat hasil

Simpan Pola

Pola yang Disimpan

Belum ada pola yang disimpan

Panduan Simbol Regex

.Cocok dengan karakter apa pun kecuali newline
\dCocok dengan digit apa pun (0-9)
\DCocok dengan non-digit
\wCocok dengan karakter kata apa pun (a-z, A-Z, 0-9, _)
\WCocok dengan karakter non-kata
\sCocok dengan karakter spasi apa pun
\SCocok 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 kecocokan
a|bCocok dengan a atau b
\bCocok dengan posisi batas kata

Penguji dan Validator Pola Regex

Pendahuluan

Penguji 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.

Cara Menggunakan Penguji Pola Regex

Menggunakan validator pola regex kami sangat sederhana dan intuitif. Ikuti langkah-langkah ini untuk memulai:

  1. 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.

  2. Pilih Bendera Regex: Pilih bendera yang sesuai untuk pola Anda:

    • g (Global): Temukan semua kecocokan daripada berhenti setelah kecocokan pertama
    • i (Tidak Sensitif Terhadap Huruf Besar): Membuat pola tidak sensitif terhadap huruf besar
    • m (Multiline): Membuat ^ dan $ mencocokkan awal/akhir setiap baris
    • Berbagai kombinasi bendera ini tersedia di dropdown
  3. Masukkan Teks Uji: Masukkan teks yang ingin Anda uji terhadap pola Anda di area teks uji.

  4. Lihat Hasil Secara Real-Time: Saat Anda mengetik, alat secara otomatis:

    • Menyoroti semua kecocokan pola dalam teks uji
    • Menampilkan total jumlah kecocokan yang ditemukan
    • Menunjukkan apakah pola mencocokkan seluruh teks
  5. Simpan Pola Berguna: Untuk pola yang Anda gunakan sering:

    • Masukkan label deskriptif untuk pola Anda
    • Klik tombol "Simpan"
    • Akses pola yang disimpan dari bagian "Pola Disimpan"
  6. 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.

Dasar-Dasar Ekspresi Reguler

Ekspresi reguler menggunakan karakter dan urutan khusus untuk mendefinisikan pola pencarian. Berikut adalah panduan untuk simbol regex dasar yang didukung oleh alat kami:

Pencocokan Karakter

SimbolDeskripsiContohKecocokan
.Mencocokkan karakter apa pun kecuali newlinea.c"abc", "adc", "a1c", dll.
\dMencocokkan digit apa pun (0-9)\d{3}"123", "456", "789", dll.
\DMencocokkan non-digit apa pun\D+"abc", "xyz", dll.
\wMencocokkan karakter kata apa pun (a-z, A-Z, 0-9, _)\w+"abc123", "test_123", dll.
\WMencocokkan non-karakter kata apa pun\W+"!@#", " + ", dll.
\sMencocokkan karakter whitespace apa puna\sb"a b", "a\tb", dll.
\SMencocokkan non-whitespace apa pun\S+"abc", "123", dll.

Penanda Posisi

SimbolDeskripsiContohKecocokan
^Mencocokkan awal baris^abc"abc" di awal baris
$Mencocokkan akhir barisabc$"abc" di akhir baris
\bMencocokkan batas kata\bword\b"word" sebagai kata lengkap

Kuantifier

SimbolDeskripsiContohKecocokan
*Mencocokkan 0 atau lebih dari karakter sebelumnyaa*b"b", "ab", "aab", dll.
+Mencocokkan 1 atau lebih dari karakter sebelumnyaa+b"ab", "aab", "aaab", dll.
?Mencocokkan 0 atau 1 dari karakter sebelumnyacolou?r"color", "colour"
{n}Mencocokkan tepat n dari karakter sebelumnyaa{3}"aaa"
{n,}Mencocokkan setidaknya n dari karakter sebelumnyaa{2,}"aa", "aaa", "aaaa", dll.
{n,m}Mencocokkan antara n dan m dari karakter sebelumnyaa{2,4}"aa", "aaa", "aaaa"

Kelas Karakter

SimbolDeskripsiContohKecocokan
[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

Pengelompokan dan Alternasi

SimbolDeskripsiContohKecocokan
(abc)Mengelompokkan beberapa token bersama dan menangkap kecocokan(abc)+"abc", "abcabc", dll.
a|bMencocokkan baik a atau bcat|dog"cat", "dog"

Pola Regex Lanjutan

Setelah Anda menguasai dasar-dasarnya, Anda dapat membuat pola yang lebih canggih untuk menyelesaikan tantangan pemrosesan teks yang kompleks:

Validasi Email

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Pola ini memvalidasi alamat email dengan memastikan mereka mengikuti format standar: username@domain.tld.

Validasi URL

^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$

Pola ini memvalidasi URL, termasuk yang dengan atau tanpa protokol http/https.

Validasi Nomor Telepon (Format AS)

^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$

Pola ini mencocokkan nomor telepon AS dalam berbagai format: (123) 456-7890, 123-456-7890, atau 1234567890.

Validasi Tanggal (YYYY-MM-DD)

^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$

Pola ini memvalidasi tanggal dalam format YYYY-MM-DD, dengan validasi dasar untuk rentang bulan dan hari.

Lookahead dan Lookbehind

Pernyataan lookahead dan lookbehind memungkinkan Anda mencocokkan pola hanya jika diikuti oleh atau didahului oleh pola lain:

  • Positive lookahead: a(?=b) mencocokkan "a" hanya jika diikuti oleh "b"
  • Negative lookahead: a(?!b) mencocokkan "a" hanya jika tidak diikuti oleh "b"
  • Positive lookbehind: (?<=a)b mencocokkan "b" hanya jika didahului oleh "a"
  • Negative lookbehind: (?<!a)b mencocokkan "b" hanya jika tidak didahului oleh "a"

Bekerja dengan Bendera Regex

Penguji regex kami mendukung berbagai bendera yang memodifikasi cara pola dicocokkan:

  • g (Global): Temukan semua kecocokan daripada berhenti setelah kecocokan pertama
  • i (Tidak Sensitif Terhadap Huruf Besar): Membuat pola tidak sensitif terhadap huruf besar
  • m (Multiline): Membuat ^ dan $ mencocokkan awal/akhir setiap baris
  • Kombinasi: Anda dapat menggabungkan bendera untuk persyaratan pencocokan yang lebih kompleks

Kasus Penggunaan untuk Pengujian Pola Regex

Ekspresi reguler memiliki banyak aplikasi praktis di berbagai bidang:

Pengembangan Web

  1. Validasi Formulir: Pastikan input pengguna sesuai dengan format yang diperlukan:

    • Alamat email: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
    • Kata sandi (dengan persyaratan kompleksitas): ^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
    • URL: ^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
  2. Parsing HTML: Ekstrak elemen atau atribut tertentu:

    • Temukan semua tag gambar: <img[^>]+src="([^">]+)"
    • Ekstrak tautan: <a[^>]+href="([^">]+)"

Pemrosesan Data

  1. Analisis File Log: Ekstrak informasi dari entri log:

    • Alamat IP: \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
    • Timestamp: \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
    • Pesan kesalahan: ERROR: .*
  2. Parsing CSV: Proses nilai yang dipisahkan koma dengan kemungkinan bidang yang terkutip:

    • Pencocokkan bidang CSV: (?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))

Pemrosesan Teks

  1. Temukan dan Ganti: Identifikasi pola untuk penggantian:

    • Hapus tag HTML: <[^>]*>
    • Format nomor telepon: (\d{3})(\d{3})(\d{4})($1) $2-$3
  2. Ekstraksi Konten: Ambil informasi spesifik dari teks yang tidak terstruktur:

    • Ekstrak tanggal: \b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},\s+\d{4}\b
    • Temukan nilai moneter: \$\d+(?:\.\d{2})?

Pemrograman dan Koding

  1. Penyorotan Sintaks: Identifikasi konstruksi bahasa:

    • Variabel JavaScript: \b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
    • Definisi fungsi: function\s+([a-zA-Z_$][\w$]*)\s*\(
  2. Refactoring Kode: Temukan pola yang perlu diperbarui:

    • Panggilan API yang sudah tidak digunakan: \.oldMethod\(
    • Fungsi yang tidak aman: eval\(

Menyimpan dan Mengelola Pola

Penguji pola regex kami mencakup sistem manajemen pola yang memungkinkan Anda untuk menyimpan dan menggunakan kembali ekspresi yang sering Anda gunakan:

Kapan Harus Menyimpan Pola

Pertimbangkan untuk menyimpan pola yang:

  • Anda gunakan sering di berbagai proyek
  • Kompleks dan sulit diingat
  • Melayani tujuan validasi tertentu dalam pekerjaan Anda
  • Telah Anda sempurnakan setelah beberapa iterasi

Praktik Terbaik untuk Label Pola

Saat menyimpan pola, gunakan label deskriptif yang:

  • Menunjukkan tujuan pola (misalnya, "Validator Email")
  • Menyebutkan format tertentu (misalnya, "Nomor Telepon AS")
  • Menyertakan informasi versi jika Anda iterasi pada pola (misalnya, "Validator URL v2")
  • Singkat tetapi informatif

Organisasi Pola

Organisir pola yang disimpan Anda dengan:

  • Fungsi (validasi, ekstraksi, penggantian)
  • Domain (pengembangan web, pemrosesan data)
  • Kompleksitas (dasar, lanjutan)
  • Frekuensi penggunaan

Berbagi Pola

Sementara alat kami tidak mendukung berbagi pola langsung antar pengguna, Anda dapat:

  • Menyalin pola untuk dibagikan dengan rekan
  • Mendokumentasikan pola Anda dalam repositori bersama
  • Menyertakan deskripsi pola dalam dokumentasi proyek

Memecahkan Masalah Umum dengan Regex

Bahkan pengembang berpengalaman menghadapi tantangan dengan ekspresi reguler. Berikut adalah solusi untuk masalah umum:

Kesalahan Sintaks

Jika pola Anda menunjukkan kesalahan validasi:

  • Periksa tanda kurung, kurung siku, atau kurung yang tidak cocok
  • Pastikan karakter khusus di-escape dengan benar menggunakan backslash
  • Verifikasi bahwa kuantifier memiliki karakter atau grup sebelumnya
  • Cari sintaks kelas karakter yang tidak valid

Masalah Kinerja

Jika regex Anda lambat atau menyebabkan lag di browser:

  • Hindari penggunaan kuantifier bersarang yang berlebihan (misalnya, (a+)+)
  • Hati-hati dengan lookahead dan lookbehind di teks besar
  • Pertimbangkan untuk menggunakan pola yang lebih spesifik daripada yang luas
  • Pecah pola kompleks menjadi bagian yang lebih kecil dan lebih mudah dikelola

Kecocokan yang Tidak Diharapkan

Jika pola Anda mencocokkan teks yang tidak diinginkan:

  • Gunakan penanda (^ dan $) untuk mencocokkan string secara keseluruhan
  • Buat kelas karakter lebih spesifik
  • Tambahkan batas kata (\b) di tempat yang tepat
  • Gunakan negative lookahead untuk mengecualikan pola tertentu

Tidak Ada Kecocokan yang Ditemukan

Jika pola Anda tidak mencocokkan teks yang diharapkan:

  • Periksa masalah sensitivitas huruf besar/kecil (pertimbangkan menggunakan bendera i)
  • Verifikasi bahwa karakter khusus di-escape dengan benar
  • Uji pola Anda pada contoh yang disederhanakan terlebih dahulu
  • Pastikan Anda menggunakan kelas karakter yang benar

Alternatif untuk Ekspresi Reguler

Meskipun regex sangat kuat, itu tidak selalu menjadi solusi terbaik untuk setiap tugas pemrosesan teks:

Metode String

Untuk operasi teks sederhana, metode string bawaan seringkali lebih jelas dan lebih efisien:

  • String.indexOf() untuk menemukan substring
  • String.startsWith() dan String.endsWith() untuk memeriksa batas string
  • String.split() untuk tokenisasi dasar

Parser Khusus

Untuk format data terstruktur, parser khusus lebih robust:

  • Parser JSON untuk data JSON
  • Parser XML/HTML untuk bahasa markup
  • Parser CSV untuk data tabular

Pemrosesan Bahasa Alami (NLP)

Untuk memahami makna teks daripada hanya pola:

  • Alat analisis sentimen
  • Pengenalan entitas bernama
  • Penandaan bagian dari ucapan

Kapan Memilih Alternatif

Pertimbangkan alternatif untuk regex ketika:

  • Struktur teks sangat teratur dan sederhana
  • Format memiliki parser standar yang tersedia
  • Anda perlu memahami makna semantik
  • Kinerja sangat penting untuk teks yang sangat besar

Pertanyaan yang Sering Diajukan

Apa itu ekspresi reguler?

Ekspresi reguler (regex) adalah urutan karakter yang mendefinisikan pola pencarian. Pola ini dapat digunakan untuk pencarian string, pencocokan, dan operasi manipulasi teks.

Mengapa saya perlu penguji pola regex?

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.

Bagaimana cara mencocokkan karakter khusus literal seperti titik atau asterisk?

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 ..

Apa perbedaan antara .* 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.

Bisakah saya menggunakan penguji regex ini untuk pola di bahasa pemrograman mana pun?

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.

Bagaimana cara memvalidasi seluruh string dengan regex?

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.

Apa itu grup penangkap dan bagaimana cara menggunakannya?

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.

Bagaimana saya bisa membuat pola regex saya lebih efisien?

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.

Apa kesalahan regex yang paling umum untuk dihindari?

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.

Bisakah regex menangani struktur bersarang seperti HTML?

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.

Referensi

  1. Friedl, J. E. F. (2006). Menguasai Ekspresi Reguler. O'Reilly Media.
  2. Goyvaerts, J., & Levithan, S. (2012). Buku Masak Ekspresi Reguler. O'Reilly Media.
  3. "Ekspresi reguler." Wikipedia, Yayasan Wikimedia, https://en.wikipedia.org/wiki/Regular_expression
  4. MDN Web Docs. "Ekspresi Reguler." Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
  5. RegExr: Pelajari, Bangun, & Uji RegEx. https://regexr.com/

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.

Umpan balik