Teks
Regex Tester / Find & Replace
Menguji ekspresi reguler pada teks nyata: kecocokan yang disorot dan grup penangkap yang dianalisis, atau mengganti kecocokan yang ditemukan dengan teks baru.
A regular expression (regex) is a compact language for describing patterns in text — for searching, validating a format, or replacing matches. This tool highlights matches in real text as you type the pattern, breaks out capture groups, and supports a find-and-replace mode.
How to use it
- Search: enter a pattern and some test text — every match is highlighted and capture groups are broken out separately.
- Replace: switch to Replace mode, provide a replacement template (referencing groups with $1, $2), and see the result instantly.
- Flags (g, i, m, s) toggle independently and immediately affect how many matches are found and how.
Common uses
- Building and debugging a regex before pasting it into code — you see the result without running the program.
- Bulk find-and-replace against a pattern (e.g. reformatting phone numbers or dates).
- Validating an input format (email, card number, slug) against real examples.
Things to keep in mind
Greedy quantifiers (*, +) grab as many characters as possible — add ? for the minimal match instead (e.g. .*? instead of .*).
Syntax varies slightly between languages — an expression that works here (a JavaScript engine) may need adjusting for PCRE, .NET, or Python.
Artikel tentang alat ini: Ekspresi reguler: sintaks dasar dan pola umum
Pertanyaan yang sering diajukan
Mesin regex mana yang digunakan?
Alat ini menggunakan mesin regex JavaScript, bukan PCRE, jadi beberapa sintaks khusus PCRE (seperti assertion rekursif atau mode pencocokan posesif tertentu) tidak akan berfungsi di sini; flag umum seperti g, i, m, s, dan u didukung.
Apa perbedaan antara kuantifier serakah dan malas, dan antara Test dan Replace?
Kuantifier serakah seperti * atau + menangkap teks sebanyak mungkin, sementara versi malasnya (*?, +?) berhenti secepat mungkin; untuk mode, Test menyorot kecocokan dan mendaftar grup tangkapan (termasuk yang bernama), dan Replace menerapkan teks pengganti, dengan referensi seperti $1, ke setiap kecocokan.
Apakah teks dan ekspresi saya dikirim ke server?
Tidak, evaluasi ekspresi reguler terjadi sepenuhnya di sisi klien di browser Anda, tidak ada yang dikirim secara online.
Apa itu catastrophic backtracking?
Quantifier bertingkat seperti (a+)+ dapat, pada input tertentu, memaksa mesin regex mencoba jumlah kombinasi yang eksponensial — halaman atau skrip pun "hang" pada ekspresi yang tampak sederhana. Ini adalah kerentanan nyata (ReDoS), sehingga quantifier bertingkat yang kompleks sebaiknya diuji dengan string panjang yang hampir cocok.
Mengapa ekspresi saya berjalan di satu bahasa pemrograman tapi tidak di bahasa lain?
Sintaks regex tidak sepenuhnya terstandarisasi: PCRE (PHP dan banyak bahasa lain), .NET, Python re, dan JavaScript memiliki perbedaan kecil dalam dukungan konstruksi tertentu (misalnya look-behind atau grup bernama) — ekspresi yang ditulis untuk satu mesin tidak selalu berjalan tanpa perubahan di mesin lain.