Penguji Regex

Uji ekspresi reguler JavaScript pada contoh teks, langsung di browser Anda.

Pola
Flag
String pengujian
Kecocokan yang disorot
Masukkan pola untuk mengujinya.

Pola dan teks Anda diuji langsung di browser Anda. Tidak ada yang diunggah ke BroBroGo.

Tanya Jawab

Apakah aman menempelkan teks saya di sini?

Ya. Pencocokan pola sepenuhnya terjadi di browser Anda — tidak ada data yang dikirim ke BroBroGo.

Apa arti dari flag g/i/m/s?

g mencari semua kecocokan, bukan hanya yang pertama. i mengabaikan huruf besar/kecil (case-insensitive). m membuat ^ dan $ mencocokkan awal dan akhir setiap baris, bukan hanya keseluruhan string. s membuat karakter titik (.) juga mencocokkan baris baru (newline).

Mengapa muncul pesan bahwa pola saya membutuhkan waktu terlalu lama?

Beberapa pola dapat memicu catastrophic backtracking — engine mencoba kombinasi dalam jumlah eksponensial sebelum menyerah, yang dapat membekukan tab browser Anda. Alat ini membatalkan pencocokan setelah 2 detik jika hal itu terjadi, sehingga halaman tidak akan terkunci. Cobalah menyederhanakan repetisi bersarang seperti (a+)+.

Pengujian Ekspresi Reguler JavaScript di Browser

Ekspresi reguler, atau regex, adalah alat yang digunakan untuk mencari, mencocokkan, dan memanipulasi teks berdasarkan pola tertentu. Dalam pengembangan web, regex sering digunakan untuk validasi formulir, pencarian teks, dan ekstraksi data. Penguji Regex menyediakan lingkungan langsung untuk menguji ekspresi reguler JavaScript terhadap contoh teks secara instan.

Proses pengujian dilakukan sepenuhnya di sisi klien. Pola dan teks Anda diuji langsung di browser Anda, sehingga tidak ada data yang dikirim atau diunggah ke BroBroGo. Hal ini memastikan bahwa data yang Anda masukkan tetap berada di perangkat lokal Anda selama proses pengujian berlangsung.

Parameter Input dan Konfigurasi Pola

Untuk mulai menguji, Anda perlu menentukan pola ekspresi reguler dan teks target yang akan diuji. Alat ini menyediakan beberapa bidang input utama:

  • Pola: Bidang untuk memasukkan ekspresi reguler JavaScript Anda. Contoh nilai bawaan yang digunakan sebagai placeholder adalah \d+.
  • Flag: Opsi tambahan yang memodifikasi perilaku pencarian regex. Anda dapat mengaktifkan satu atau beberapa flag berikut:
    • g (Global): Menemukan semua kecocokan di dalam teks, bukan hanya kecocokan pertama yang ditemukan. Jika flag ini tidak dipilih, alat hanya akan mengembalikan kecocokan pertama.
    • i (Abaikan huruf besar/kecil): Mengabaikan perbedaan antara huruf besar dan huruf kecil saat melakukan pencocokan.
    • m (Multiline): Mengubah perilaku karakter jangkar ^ dan $ agar mencocokkan awal dan akhir dari setiap baris individual, bukan hanya awal dan akhir dari keseluruhan string teks.
    • s (Titik mencocokkan baris baru): Memungkinkan karakter titik (.) untuk mencocokkan karakter baris baru (newline), yang secara default biasanya tidak ikut dicocokkan.
  • String pengujian: Teks sampel tempat pola regex Anda akan diterapkan. Placeholder default untuk bidang ini adalah "Tempelkan atau ketik teks untuk menguji pola Anda".

Memahami Output dan Hasil Pencocokan

Setelah Anda memasukkan pola dan teks pengujian, alat akan langsung memproses input dan menampilkan hasil pencocokan secara real-time melalui beberapa komponen output:

  • Kecocokan yang disorot: Teks pengujian Anda akan ditampilkan kembali dengan tanda visual pada setiap bagian teks yang berhasil dicocokkan oleh pola regex.
  • Kecocokan: Daftar terperinci dari setiap hasil pencocokan yang ditemukan. Jika pola Anda menggunakan tanda kurung untuk menangkap grup (capture groups), setiap kartu kecocokan akan menampilkan detail sub-string tersebut dengan label Grup {n}, di mana {n} mewakili indeks grup penangkap tersebut.
  • Cocok: {count}: Menampilkan jumlah total kecocokan yang berhasil diidentifikasi dalam teks pengujian.
  • Karakter: Menampilkan jumlah karakter dari teks pengujian yang dimasukkan.

Aturan Batasan dan Penanganan Error

Dalam skenario pengujian tertentu, alat menerapkan aturan khusus dan batasan performa untuk menjaga stabilitas browser Anda:

  • Tanpa Kecocokan: Jika pola yang dimasukkan tidak menghasilkan kecocokan sama sekali pada teks pengujian, sistem akan menampilkan pesan "Tidak ada yang cocok.".
  • Kesalahan Sintaks: Jika ekspresi reguler yang Anda tulis memiliki kesalahan penulisan atau tidak sesuai dengan standar JavaScript, sistem akan menampilkan pesan "Ekspresi reguler (regex) tidak valid.".
  • Batas Waktu Eksekusi (Timeout): Beberapa pola regex yang tidak efisien dapat menyebabkan proses pencarian yang sangat lambat. Jika proses pencocokan pola memakan waktu lebih dari 2 detik, alat akan membatalkan proses secara otomatis dan menampilkan pesan "Pola ini membutuhkan waktu terlalu lama untuk dijalankan — mungkin kinerjanya sangat lambat. Cobalah menyederhanakannya.".
  • Batasan Tampilan Global: Saat flag g aktif, alat membatasi hasil maksimal hingga 1.000 kecocokan untuk mencegah penurunan kinerja browser. Selain itu, jumlah kartu detail kecocokan yang ditampilkan di bawah area teks dibatasi maksimal hingga 100 kartu. Jika jumlah kecocokan melebihi batas tampilan ini, alat akan menampilkan catatan "Menampilkan {max} pertama.".
  • Pembersihan Data: Anda dapat mengosongkan semua input dan hasil pengujian dengan mengeklik tombol "Bersihkan", yang akan memicu status "Dibersihkan.".

FAQ (Pertanyaan yang Sering Diajukan)

Apakah aman menempelkan teks saya di sini?
Ya. Pencocokan pola sepenuhnya terjadi di browser Anda — tidak ada data yang dikirim ke BroBroGo.

Apa arti dari flag g/i/m/s?
g mencari semua kecocokan, bukan hanya yang pertama. i mengabaikan huruf besar/kecil (case-insensitive). m membuat ^ dan $ mencocokkan awal dan akhir setiap baris, bukan hanya keseluruhan string. s membuat karakter titik (.) juga mencocokkan baris baru (newline).

Mengapa muncul pesan bahwa pola saya membutuhkan waktu terlalu lama?
Beberapa pola dapat memicu catastrophic backtracking — engine mencoba kombinasi dalam jumlah eksponensial sebelum menyerah, yang dapat membekukan tab browser Anda. Alat ini membatalkan pencocokan setelah 2 detik jika hal itu terjadi, sehingga halaman tidak akan terkunci. Cobalah menyederhanakan repetisi bersarang seperti (a+)+.