Regex Tester
Uji regular expression JavaScript secara langsung dengan sorotan kecocokan, capture group, pratinjau replace, dan cheat sheet.
Sorotan kecocokan
Kecocokan
| # | Kecocokan | Posisi | Grup |
|---|
Pola umum
100% privat: semuanya berjalan di browser Anda dan tidak ada yang diunggah.
Cheat sheet regex
.- Karakter apa pun kecuali baris baru
\d- Satu digit (0–9)
\w- Karakter kata (huruf, digit, atau garis bawah)
\s- Karakter whitespace
[abc]- Salah satu dari a, b, atau c
[^abc]- Karakter apa pun kecuali a, b, atau c
[a-z]- Karakter apa pun dari a sampai z
^- Awal string (atau baris dengan flag m)
$- Akhir string (atau baris dengan flag m)
\b- Batas kata
*- 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
*?- Pengulangan malas (sesedikit mungkin)
(abc)- Capture group
(?:abc)- Grup non-capturing
(?<name>abc)- Capture group bernama
\1- Referensi balik ke grup 1
a|b- Cocok dengan a atau b
(?=abc)- Diikuti abc (lookahead)
(?!abc)- Tidak diikuti abc
(?<=abc)- Didahului abc (lookbehind)
(?<!abc)- Tidak didahului abc
Cara Menguji Regular Expression
Tanpa daftar, tanpa instalasi — langsung berjalan di browser Anda.
- Langkah 1:Ketik pola di antara garis miring dan aktifkan flag yang dibutuhkan, atau mulai dari salah satu pola umum.
- Langkah 2:Tempel teks yang akan diuji. Kecocokan langsung disorot dan dicantumkan beserta posisi dan capture group-nya.
- Langkah 3:Jika perlu, masukkan teks pengganti dengan $1 atau $<nama> untuk melihat hasil String.replace, lalu salin.
FAQ Regex Tester
Flavor regex apa yang dipakai tester ini?
Tester ini memakai mesin JavaScript (ECMAScript) bawaan browser, sama seperti Node.js, Deno, dan kode front-end. Sebagian besar sintaksnya sama dengan PCRE, Python, dan Java, tetapi possessive quantifier dan atomic group tidak tersedia.
Apa fungsi flag g, i, m, s, u, dan y?
g mencari semua kecocokan alih-alih yang pertama saja, i mengabaikan huruf besar/kecil, m membuat ^ dan $ cocok di setiap baris, s membuat titik cocok dengan baris baru, u mengaktifkan dukungan Unicode penuh, dan y (sticky) hanya mencocokkan di posisi saat ini.
Bagaimana memakai capture group di teks pengganti?
Gunakan $1, $2, dan seterusnya untuk grup bernomor, $<nama> untuk grup bernama, $& untuk seluruh kecocokan, dan $$ untuk tanda dolar literal.
Mengapa regex saya sangat lambat atau timeout?
Quantifier bersarang seperti (a+)+ atau (.*)* dapat menyebabkan catastrophic backtracking, ketika mesin mencoba kombinasi dalam jumlah eksponensial. Buat quantifier lebih spesifik, gunakan character class alih-alih titik, atau tambahkan anchor pada pola.
Apakah data uji saya privat?
Ya. Pola dan teks uji dievaluasi secara lokal di worker browser dan tidak pernah dikirim ke server.
Uji dan Debug Regular Expression Online
Regular expression adalah bahasa ringkas untuk mencari, memvalidasi, dan mengubah teks: mengecek alamat email dan nomor telepon, mengambil ID dari log, menulis ulang URL, mem-parsing baris CSV, atau membersihkan input pengguna. Namun regex juga sangat mudah salah, karena satu quantifier yang salah tempat atau escape yang terlewat bisa mencocokkan jauh lebih banyak — atau lebih sedikit — dari yang Anda maksud. Regex tester gratis ini menampilkan setiap kecocokan saat Anda mengetik, menyorotnya di teks uji, mencantumkan posisi dan isi setiap capture group bernomor maupun bernama, serta menampilkan hasil replace dengan referensi $1, $2, atau $<nama>.
Tester ini memakai mesin regex JavaScript (ECMAScript) di browser Anda, sehingga hasilnya persis sama dengan kode di Node.js, TypeScript, React, maupun browser, termasuk dukungan flag g, i, m, s, u, dan y, named group, lookbehind, dan Unicode. Pola dijalankan di worker latar belakang dengan batas waktu, sehingga pola dengan catastrophic backtracking pun tidak bisa membekukan halaman. Pola siap pakai untuk email, URL, alamat IPv4, tanggal ISO, warna hex, dan angka membantu Anda memulai, dan cheat sheet bawaan menjelaskan token yang paling penting. Tidak ada yang Anda ketik yang diunggah — semuanya berjalan secara lokal.