Penguji regex

Ketik pola dan sedikit teks uji. Setiap kecocokan disorot saat Anda mengetik, dan daftarnya menunjukkan letak setiap kecocokan serta apa yang ditangkap grupnya. Tidak ada yang Anda ketik meninggalkan peramban Anda.

Gratis Berjalan di peramban Anda Diperiksa Selasa, 10 November 2026

Alat ini berjalan di peramban Anda. Apa yang Anda masukkan tidak dikirim kepada kami.

Cara memakai

  1. Ketik pola tanpa garis miring. Contoh ini menemukan tanggal yang ditulis seperti 2026-11-10.
  2. Centang bendera yang Anda perlukan. g menemukan setiap kecocokan, i mengabaikan huruf besar dan kecil, dan m serta s mengubah cara pindah baris dibaca.
  3. Tempel teks uji Anda. Kecocokan langsung disorot, dan daftar di bawah teks memberi posisi dan grup setiap kecocokan.
  4. Ketik teks di Ganti dengan untuk melihat hasilnya, lalu tekan Salin untuk mengambilnya.

Cara pencocokan bekerja di sini

Halaman ini memakai mesin ekspresi reguler yang dibangun di peramban Anda, yaitu yang dipakai JavaScript. Kecocokan ditemukan berurutan, dari awal teks. Posisi yang ditampilkan adalah jumlah karakter sebelum kecocokan, dimulai dari 0, dihitung dalam satuan UTF-16 seperti cara JavaScript menghitung teks.

Pencarian berjalan di pekerja latar belakang peramban Anda, sehingga halaman tetap responsif. Pencarian berhenti setelah 10.000 kecocokan, dan teks yang lebih panjang dari 200.000 karakter tidak dicari. Pola yang bisa tidak cocok dengan apa pun, seperti x*, maju satu karakter setelah setiap kecocokan kosong, sehingga pencarian selalu berakhir. Pencarian yang memakan waktu lebih dari 2 detik dihentikan; lihat bagian tentang backtracking berlebihan.

  • Tanpa bendera g, hanya kecocokan pertama yang ditampilkan, seperti yang dilakukan String.match().
  • Bendera u membaca emoji atau karakter lain di luar bidang dasar sebagai satu karakter.
  • Bendera d menambahkan awal dan akhir setiap grup ke dalam daftar.

Backtracking berlebihan dan batas 2 detik

Mesin ekspresi reguler mencoba cara-cara pola bisa cocok, satu demi satu. Dengan sebagian pola, terutama grup berulang di dalam grup berulang lain seperti (a+)+, jumlah caranya tumbuh sangat cepat: setiap karakter tambahan bisa melipatgandakan kerja. Ini paling sering terjadi ketika teks hampir cocok dan baru gagal di bagian akhir.

Sebagai contoh, pola (a+)+$ pada teks berisi banyak huruf a yang diikuti tanda seru tidak akan pernah cocok, karena $ membutuhkan akhir teks. Mesin tetap mencoba setiap cara membagi huruf sebelum menyerah. Dengan sekitar 26 huruf, pencarian bisa memakan waktu satu detik atau lebih pada komputer biasa, dan setiap huruf tambahan membuatnya jauh lebih lambat. Waktunya bergantung pada perangkat Anda.

Halaman ini menjalankan setiap pencarian di pekerja latar belakang dan menghentikannya setelah 2 detik, dengan menampilkan pesan. Bagian lain halaman tetap berfungsi, sehingga Anda bisa mengubah pola atau teks dan mencoba lagi.

  • Jangan letakkan pengulangan di dalam pengulangan lain atas karakter yang sama: tulis (a+)$ dan bukan (a+)+$. Pada teks yang sama, pola yang aman selesai seketika.
  • Jadilah spesifik: pakai [a-z] atau \d+ di dalam grup dan bukan titik, sehingga bagian-bagian kecocokan tidak bisa tumpang tindih dengan banyak cara.
  • Uji pola pada contoh teks yang pendek dulu, lalu pada teks lengkap.
  • Jangkarkan pola bila memungkinkan: ^ di awal dan $ di akhir mencegah mesin mencoba setiap titik awal.

Pola penggantian

Teks penggantian mengikuti aturan String.replace() di JavaScript. Tanda dolar memulai kode yang akan digantikan dengan teks yang cocok:

Yang Anda tulis Digantikan dengan
$1, $2 dan seterusnya Teks grup bernomor
$& Seluruh kecocokan
$` Teks sebelum kecocokan
$' Teks setelah kecocokan
$$ Satu tanda dolar
Tanda dolar, tanda kurang dari, nama grup, dan tanda lebih dari Teks grup bernama

Perbedaan dengan PCRE dan .NET

Pola yang ditulis untuk PCRE (PHP, banyak alat Linux) atau untuk .NET (C#, Visual Basic) biasanya bekerja di sini, tetapi beberapa fitur hanya ada di salah satu mesin. Tabel memuat yang paling penting.

Fitur JavaScript (halaman ini) PCRE dan .NET
Grup atomik dan kuantifier posesif Tidak tersedia Grup atomik di PCRE dan .NET; kuantifier posesif seperti a++ di PCRE
Jangkar \A, \Z, dan \z Tidak tersedia: pakai ^ dan $ Tersedia
Grup bernama yang ditulis (?P<…>) Tidak tersedia Tersedia di PCRE
Opsi sebaris seperti (?i) di dalam pola Tidak tersedia: atur bendera sebagai gantinya Tersedia di .NET
Menjaga teks tetap di luar kecocokan dengan \K Tidak tersedia Tersedia di PCRE
Mengganti grup bernama Tanda dolar, tanda kurang dari, nama, tanda lebih dari .NET memakai tanda dolar, kurung kurawal, nama, kurung kurawal

Contoh: tiga tanggal dalam satu teks

Pola contoh punya tiga grup bernama: empat digit untuk tahun, dua untuk bulan, dan dua untuk hari, dipisahkan tanda hubung. Teks memuat tiga tanggal, dan ketiganya cocok pada posisi 14, 34, dan 50, dihitung dari 0 pada huruf pertama.

Dengan penggantian hari, bulan, tahun yang ditulis sebagai ketiga nama grup (tanda dolar dan setiap nama di antara tanda kurang dari dan lebih dari), ketiga tanggal ditulis ulang menjadi 10.11.2026, 03.12.2026, dan 15.01.2027. Hasilnya berbunyi: Invoice dated 10.11.2026, paid on 03.12.2026. Due 15.01.2027.

Pertanyaan yang sering diajukan

Varian ekspresi reguler apa yang dipakai penguji ini?

Penguji ini memakai mesin JavaScript yang dibangun di peramban Anda. Sebagian besar pola untuk mencari, memvalidasi, dan membersihkan teks bekerja sama di JavaScript, PCRE, dan .NET, tetapi beberapa fitur berbeda, seperti dijelaskan pada bagian perbedaan.

Mengapa daftar berhenti di 10.000 kecocokan?

Kecocokan dikumpulkan berurutan. Daftar yang sangat panjang akan lambat digambar dan terlalu panjang untuk dibaca, jadi bila pola cocok lebih sering, 10.000 kecocokan pertama ditampilkan dan halaman menyatakan bahwa pencarian berhenti.

Mengapa teks saya ditolak ketika lebih dari 200.000 karakter?

Teks yang sangat panjang membuat halaman lambat, dan sebuah pola bisa memakan waktu lama di atasnya. Uji pola pada sebagian teks lebih dulu, lalu pada sisanya, atau potong teks menjadi bagian-bagian kecil.

Mengapa sorotan melewatkan beberapa kecocokan?

Kecocokan tanpa karakter, seperti tempat kosong yang ditemukan x* di antara huruf, tidak punya apa pun untuk disorot. Ia tetap ada dalam daftar dengan posisinya, sehingga Anda masih bisa melihat di mana letaknya.

Apakah penguji mengirim teks saya ke server?

Tidak. Pencocokan berjalan di peramban Anda, dan halaman tidak menyimpan atau mengirim apa yang Anda ketik ke mana pun. Menutup halaman akan menghapusnya.

Apa arti pesan tentang pola yang tidak sah?

Pola tidak bisa dibaca sebagai ekspresi reguler JavaScript. Pesan itu berasal dari mesin dalam bahasa Inggris dan menyebut masalahnya, misalnya kurung yang tidak pernah ditutup.

Bisakah saya menguji pola yang ditulis untuk PCRE atau .NET di sini?

Sering bisa, bila hanya memakai fitur umum. Bila memakai grup atomik, kuantifier posesif, \A atau \z, atau opsi sebaris, tulis ulang bagian itu untuk JavaScript terlebih dahulu; tabel menunjukkan fitur-fitur tersebut.

Mengapa halaman menyatakan bahwa pola memakan waktu terlalu lama?

Pencarian belum selesai dalam 2 detik pada teks ini, sehingga halaman menghentikannya. Ini biasanya berarti pola dengan pengulangan di dalam pengulangan lain, seperti (a+)+, pada teks yang hampir cocok. Bagian tentang backtracking berlebihan menunjukkan bentuk yang lebih aman.

Sumber

Angka dan teks terakhir diperiksa pada Selasa, 10 November 2026.

Kami memakai cookie yang diperlukan agar situs berjalan. Dengan persetujuan Anda, Google juga memakai cookie iklan untuk menampilkan iklan yang dipersonalisasi. Jika Anda menolaknya, iklan tetap tampil, tetapi tidak dipersonalisasi.