Semua alat

Penguji regex

Teks pencocokan pola ekspresi reguler untuk validasi, penggantian pencarian, dan penguraian log. Uji pola dengan penyorotan langsung sebelum masuk ke kode produksi — hindari kejutan kemunduran yang dahsyat pada input pengguna.
Pola
Flag
Teks uji
Output
[0] Hello [6] world [12] 123

Cara menguji regex

1. Masukkan pola regex (tanpa garis miring luar atau dengan tanda).
2. Atur tanda: g global, i case insensitive, m multiline.
3. Tempel teks sampel dalam string pengujian area.
4. Tinjau kecocokan, ambil grup, dan ganti pratinjau jika tersedia.

Contoh regex

Validasi email

^[\\w.-]+@[\\w.-]+\\.\\w+$ menangkap email sederhana — tidak sempurna RFC tetapi berguna untuk formulir.

Ekstrak tanggal ISO

\\d{4}-\\d{2}-\\d{2} menemukan 2024-03-15 di baris log untuk penggantian grep.

Slugify helper

Ganti [^a-z0-9]+ dengan tanda hubung untuk slug URL dari judul string.

Ketika regex membantu

Saat memvalidasi string terstruktur (telepon, kode pos).
Saat mengurai log semi-terstruktur.
Saat belajar menangkap grup dan melihat ke depan.

Kapan menghindari regex

Saat mengurai HTML atau JSON — gunakan parser yang tepat.
Ketika regex menjadi tidak dapat dibaca — bagi menjadi logika kode.
Saat risiko ReDoS aktif pola yang disediakan pengguna di server — batas waktu dan panjang batas.

Kewaspadaan ReDoS

Pengukur bersarang seperti (a+)+ pada string jahat hang CPU — hindari regex pengguna di server atau gunakan mesin aman dengan batas waktu.

Validasi vs ekstrak

Pola berlabuh ^...$ memvalidasi seluruh string; unanchored menemukan substring di mana saja.

Ganti di editor

VS Code menggunakan regex JS serupa di find-replace — uji di sini lalu tempel pola.

Pertanyaan yang sering diajukan

Rasa regex yang mana?

JavaScript RegExp — Ada perbedaan PCRE (dukungan tampilan belakang bervariasi berdasarkan versi mesin).

Bendera global g?

Menemukan semua kecocokan bukan hanya yang pertama — testStateful dengan lastIndex di JS.

Keluar dari karakter khusus?

. * + ? [ ] ( ) {} | \\ ^ $ perlu keluar untuk pencocokan literal.

Tangkap grup?

Tanda kurung ( ) membuat grup bernomor dapat diakses sebagai ganti $1 $2.

Lokal?

Ya.

Multiline ^ $?

m flag membuat ^ $ batas garis kecocokan tidak seluruh string.