Penguji regex
Bangun dan uji regex JS dengan highlight match langsung dan rincian capture group. Enam flag, lima pola sampel. Di browser.
Pola di antara garis miring; aktifkan flag di kanan. Arahkan kursor ke flag untuk melihat fungsinya.
Apa itu penguji regex?
Penguji regex mengompilasi regular expression secara real-time dan menampilkan substring mana yang cocok — indeks, panjang, capture group.
Apa fungsi flag regex?
Setiap flag mengubah engine: <code>g</code> semua match, <code>i</code> tanpa case, <code>m</code> <code>^/$</code> per baris, <code>s</code> <code>.</code> dengan newline, <code>u</code> Unicode, <code>y</code> sticky.
Menghindari catastrophic backtracking
Pola dengan quantifier bersarang seperti <code>(a+)+b</code> bisa memakan waktu eksponensial. Penguji ini membatasi input ke 100 KB dan mencoba membatalkan setelah 100 ms.
Punya respons JSON untuk diperiksa? Coba formatter JSON.
Penggunaan Umum
- Validasi email: Bangun regex email pragmatis yang Anda pahami — RFC 5322 lengkap besar.
- Ekstraksi baris log: Ambil ID request, kode error, timestamp dari log.
- Pembersihan input form: Validasi nomor telepon, kode pos, SKU sebelum dikirim ke API.
- Pencarian dan penggantian: Iterasi pola di sini sebelum tempel ke search regex VS Code.
- Pencocokan pola URL: Pola routing dengan named capture group untuk ekstrak segmen.
- Konfigurasi CI lint: Uji pola untuk ESLint atau pre-commit hook sebelum commit.
- Pembersihan data skala besar: Uji regex di sampel CSV sebelum jalankan ETL.
FAQ
Apa arti flag g?
Flag "global" memberi tahu engine untuk menemukan semua match. Tanpa flag ini, .match() hanya mengembalikan match pertama.
Apa itu capture group?
Tanda kurung membuat capture group — engine mengingat apa yang cocok di dalamnya. (?
Lookahead vs lookbehind — kapan pakai apa?
Lookahead (?=…) memeriksa apa yang mengikuti tanpa mengonsumsi; lookbehind (?<=…) sebaliknya. Berguna untuk asersi konteks.
Mengapa regex saya lambat / membekukan halaman?
Kemungkinan catastrophic backtracking — quantifier bersarang menghasilkan jalur eksponensial. Tulis ulang dengan possessive quantifier.
Apakah alat ini mengirim regex saya?
Tidak. Regex dikompilasi dan dijalankan sepenuhnya di browser. Pola dan flag disimpan di localStorage, tetapi string uji tidak pernah dipertahankan.
Dalam Angka
- Regex JavaScript mengikuti spesifikasi ECMA-262 — didukung di semua browser modern tanpa polyfill
- Enam flag
g i m s u ymenambah perilaku khusus —gsemua match,itanpa case,smembuat.cocok dengan newline - Pola "catastrophic backtracking" bisa memakan waktu eksponensial — jangan pernah memercayai pola dari pengguna di server tanpa timeout
- Named capture group
(?<name>...)distandarisasi di ES2018, diakses viamatch.groups.name