Penguji regex
Tulis pola dan lihat setiap kecocokan disorot dalam konteks — tanpa tombol, dan mesinnya adalah RegExp JavaScript bawaan peramban.
Hasil kecocokan
Cara menggunakan
- Ketik pola tanpa garis miring dan aktifkan flag yang perlu: kecocokan diperbarui saat Anda mengetik, tidak ada tombol yang harus ditekan.
- Tempel teks uji. Setiap kecocokan disorot di panel hasil, dan masing-masing didaftar dengan posisi, teks, serta grup tangkapannya.
- Salin semua nilai yang cocok sekaligus, atau unduh sebagai berkas teks — satu kecocokan per baris.
Contoh
Pola dan teks
(\w+)@(\w+)\.(\w+) Hubungi budi@example.com atau siti@example.org untuk detail.
Kecocokan
Kecocokan: 2 #1 [8–24] budi@example.com 1: budi 2: example 3: com #2 [30–46] siti@example.org 1: siti 2: example 3: org
Baris pertama adalah pola (tanpa garis miring), sisanya teks uji. Rentangnya adalah offset 0-based, end-exclusive ke dalam teks — angka yang sama dengan match.index di JavaScript. Pencocokan global selalu aktif, jadi semua kemunculan ditemukan meski tidak ada tombol g.
Aturan, batasan, dan masalah yang diketahui
- Mesinnya adalah RegExp JavaScript bawaan peramban: tanpa varian PCRE, Python, Go, atau RE2, dan tanpa pemilih varian. \A, \z, serta flag sebaris seperti (?i) tidak didukung.
- Pencocokan global selalu aktif; flag yang tersedia hanya i, m, s, dan u. y (sticky), d (indeks), dan v (himpunan Unicode) tidak disediakan.
- Garis miring /…/ hanya hiasan: / di dalam pola tidak perlu di-escape di sini, berbeda dengan literal JavaScript. Bacaan flag di sebelahnya adalah string persis yang dapat dipakai ulang di kode.
- Galat sintaks menampilkan pesan bawaan peramban (dalam bahasa Inggris) setelah awalan yang sudah diterjemahkan; redaksinya berbeda antarperamban.
- Teks uji kosong tidak menghasilkan apa pun — tidak ada baris untuk diuji, jadi pola seperti ^$ tidak dapat diverifikasi di sini.
- Hingga 2000 kecocokan dikumpulkan (hitungannya lalu terbaca 2000+) dan daftar merender 200 pertama. Kedua batas diumumkan, bukan dipotong diam-diam.
- Teks di atas 100.000 karakter tetap diperbarui saat mengetik, dengan jeda lebih panjang sebelum hasil muncul.
- Backtracking katastrofik dapat membekukan tab: regex JavaScript berjalan sinkron dan tidak dapat dihentikan, jadi tidak ada batas waktu. Jangan menempel pola atau teks raksasa yang tidak tepercaya.
- \w, \b, dan \d hanya ASCII meski dengan u — cocokkan huruf non-Latin dengan \p{L} dan flag u. Tanpa u, \p{L} bukan galat: ia diam-diam merosot menjadi pencocokan literal.
- i memakai case folding sederhana Unicode, bukan aturan lokal: huruf Turki İ dan i tidak saling cocok, dan ß tidak dilipat menjadi SS.
- Rentangnya offset UTF-16 0-based, end-exclusive, jadi satu emoji dihitung dua. Grup yang tidak berpartisipasi ditampilkan sebagai —; grup yang cocok dengan string kosong ditampilkan kosong.
- Kecocokan panjang nol (\b, a*, (?=x)) ditampilkan sebagai penanda tipis dan rentangnya terbaca n–n.
- Salin dan unduh hanya memuat nilai yang cocok, satu per baris, tanpa nomor, rentang, atau grup. Kecocokan yang berisi baris baru karenanya membentang beberapa baris.
- Tidak ada pratinjau substitusi, tidak ada generator kode, tidak ada permalink, dan tidak ada pola tersimpan: pola tidak pernah keluar dari kotak masukan dan tidak pernah masuk ke URL.
Alat terkait
Setelah polanya berjalan, ini langkah berikutnya yang biasa.