Regex Tester
Uji regular expression dengan highlight langsung, capture group, dan pratinjau replace — sepenuhnya di dalam browser Anda.
Mesin: regular expression JavaScript (ECMAScript), dijalankan oleh browser Anda. Perilakunya bisa berbeda dari PCRE, Python, Go, Java, atau .NET.
Jelaskan pola
Masukkan pola untuk melihat penjelasannya token demi token.
Pustaka pola
Klik sebuah pola untuk memuatnya (beserta teks contoh) ke penguji.
Satu kasus per baris. Awali dengan "+ " jika pola harus cocok, atau "- " jika TIDAK boleh cocok (flag g dan y diabaikan di sini).
Buat kode
Masukkan pola untuk membuat kode.
Pola disalin apa adanya (hanya grup bernama, flag, dan token penggantian yang disesuaikan). Periksa dukungan lookbehind, backreference, dan Unicode di mesin tujuan.
- \d — digit apa saja (0–9)
- \w — karakter kata apa saja (huruf, digit, garis bawah)
- \s — karakter spasi/whitespace apa saja
- . — karakter apa saja kecuali baris baru
- ^ — awal string (atau awal baris, dengan flag multiline)
- $ — akhir string (atau akhir baris, dengan flag multiline)
- * — nol atau lebih dari token sebelumnya
- + — satu atau lebih dari token sebelumnya
- ? — nol atau satu dari token sebelumnya
- {n,m} — antara n dan m pengulangan
- (...) — grup penangkap, (?:...) — grup non-penangkap
- \b — word boundary, | — alternasi (ATAU)
Bagaimana sebenarnya cara kerja pengujian regex di browser?
Regular expression adalah bahasa pattern yang ringkas untuk mencocokkan teks — mulai dari "apakah ini terlihat seperti alamat email" hingga "temukan setiap nomor telepon di dokumen ini" sampai "hapus tag HTML dari string ini." Masalahnya, sintaks regex terkenal mudah salah tanpa disadari: sebuah `.` yang seharusnya di-escape, sebuah `*` yang greedy dan "menelan" lebih banyak teks dari yang dimaksud, atau sebuah group yang ternyata tidak menangkap apa yang Anda kira. Menulis regex secara membabi buta dan baru menyadari kesalahannya setelah dijalankan di data produksi adalah cara yang menyakitkan untuk belajar hal ini.
Alat ini berjalan sepenuhnya menggunakan engine `RegExp` bawaan JavaScript, dieksekusi langsung di browser Anda begitu Anda mengetik — tidak ada server yang terlibat, sehingga teks apa pun yang Anda uji (yang bisa saja berupa data pengguna asli, baris log, atau apa pun yang tidak ingin Anda tempel ke layanan pihak ketiga) tidak pernah meninggalkan perangkat Anda. Karena ini adalah engine yang sama persis dengan yang akan menjalankan kode JavaScript Anda di produksi, apa yang Anda lihat di sini — karakter mana yang cocok, bagaimana perilaku quantifier yang greedy, apakah sebuah group menangkap sesuatu — adalah persis apa yang akan Anda dapatkan saat runtime, bukan sekadar perkiraan dari varian regex yang berbeda.
Ketik sebuah pattern lalu aktifkan flag yang Anda butuhkan: `g` untuk menemukan semua kecocokan alih-alih berhenti di kecocokan pertama, `i` untuk pencocokan yang tidak membedakan huruf besar/kecil, `m` agar `^` dan `$` cocok dengan awal/akhir setiap baris alih-alih seluruh string, `s` agar `.` juga cocok dengan baris baru. Setiap kecocokan dalam teks uji Anda disorot secara langsung, dan masing-masing diuraikan di bawah menjadi teks yang cocok secara utuh, posisinya, serta capture group apa pun — termasuk named group seperti `(?<year>\d{4})` — sehingga Anda bisa langsung melihat apakah group yang ingin Anda ambil memang benar-benar yang tertangkap. Bagian Replace menampilkan persis apa yang akan dihasilkan `String.replace()` dengan pattern dan teks pengganti Anda, termasuk backreference group seperti `$1` atau `$<year>`.
Panel referensi cepat di bawah mencakup token-token yang paling sering terlupakan di tengah pekerjaan — perbedaan antara `*` dan `+`, fungsi non-capturing group `(?:...)`, cara `\b` menandai batas kata (word boundary) — tanpa perlu meninggalkan halaman ini untuk mencarinya. Setelah Anda mendapatkan pattern yang berperilaku sesuai keinginan terhadap data uji yang realistis, pattern tersebut siap langsung digunakan dalam kode Anda. Jika Anda perlu memvalidasi atau memformat ulang data di sekitarnya, alat JSON Formatter & Validator dan Text Diff Checker adalah pelengkap yang pas.
Pertanyaan yang sering diajukan
Apakah pola regex yang buruk akan membekukan halaman?
Tidak — pencocokan berjalan di Web Worker terpisah dengan batas waktu ketat, sehingga pola catastrophic-backtracking sekalipun tidak bisa mengunci tab Anda.
Apakah grup tangkap bernama dan bernomor ditampilkan?
Ya — setiap kecocokan menampilkan grup bernomornya dan grup bernama seperti (?<year>\d{4}).
Bisakah saya melihat pratinjau penggantian sebelum memakainya di kode?
Bisa — panel Ganti menampilkan persis apa yang akan dihasilkan String.replace(), termasuk backreference grup.