CodeKitHub
Bahasa Indonesia
Alat Teks

Regex Tester Online

Tulis regular expression dan lihat kecocokannya langsung ditandai dalam teks uji Anda, saat Anda mengetik. Capture group ditampilkan per kecocokan, dan semua flag regex JavaScript didukung. Cocok untuk membangun dan men-debug pola sebelum dimasukkan ke dalam kode.

//

    Apa Itu Alat Ini?

    Regular expression (regex) adalah bahasa pola ringkas untuk mencari, memvalidasi, dan mengekstrak teks: pola email bisa memvalidasi input formulir, \d{4}-\d{2}-\d{2} menemukan tanggal, dan capture group mengambil bagian yang Anda butuhkan. Hampir semua bahasa pemrograman dan editor mendukung regex.

    Regex tester ini menggunakan mesin regex JavaScript — mesin yang sama yang berjalan di Node.js dan setiap browser — jadi pola yang Anda buat di sini berperilaku identik di kode JavaScript/TypeScript Anda. Sebagian besar pola juga bekerja tanpa perubahan di Python, Java, dan Go.

    Mengapa Menggunakannya?

    • Umpan balik langsung: kecocokan ditandai kuning saat Anda mengetik pola.
    • Capture group ditampilkan per kecocokan — lihat persis apa yang akan berisi $1 dan $2.
    • Dukungan flag lengkap: g (semua kecocokan), i (abaikan huruf besar/kecil), m (multiline), s (titik cocok dengan baris baru), u (unicode).
    • Pesan error yang jelas saat pola punya kesalahan sintaks.
    • Gratis dan privat — pola dan teks tidak pernah keluar dari browser Anda.

    Cara Menggunakan

    1. Ketik pola Anda di antara dua karakter / (tidak perlu escape garis miring sendiri).
    2. Sesuaikan flag di kotak kecil setelah garis miring kedua — default g menemukan semua kecocokan.
    3. Tempel teks uji Anda di bawah.
    4. Kecocokan langsung ditandai; capture group ditampilkan di bawahnya.
    5. Jika pola tidak valid, pesan error menjelaskan apa yang salah.

    Contoh

    Input

    Pola: (\w+)@(\w+)\.com
    Teks uji: Hubungi alice@example.com atau bob@test.com

    Output

    ✓ 2 kecocokan
    #1 grup: $1=alice  $2=example
    #2 grup: $1=bob  $2=test

    Tanda kurung membuat capture group yang bisa Anda rujuk sebagai $1 dan $2 dalam penggantian teks.

    Tips praktis

    • Memvalidasi input email? ^[^\s@]+@[^\s@]+\.[^\s@]+$ adalah pola longgar yang menangkap salah ketik yang jelas tanpa menolak alamat valid-tapi-tidak-biasa — kepatuhan penuh terhadap RFC 5322 butuh library, bukan satu baris.
    • Mengekstrak parameter query dari URL: [?&]([^=]+)=([^&]*) dengan flag g, lalu baca $1/$2 per kecocokan alih-alih memecah manual pada & dan =.
    • Akan memakai pola dalam .replace()? Uji di sini dulu — apa yang ditandai persis apa yang akan disentuh .replace(), termasuk capture group-nya.
    • Mem-parsing log multiline (mencocokkan timestamp di awal setiap baris)? Tambahkan flag m agar ^ dan $ berlaku per baris, bukan seluruh string.
    • Menyalin pola dari Python atau PHP dan tidak cocok di sini? Periksa named group (?P<name>...) — JavaScript memakai (?<name>...), tanpa P — atau possessive quantifier (++, *+), yang tidak ada di regex JavaScript.

    Regex tester JavaScript, bukan yang generik

    Alat ini menjalankan mesin RegExp bawaan JavaScript — jalur kode yang persis sama di balik str.match(pola) atau pola.test(str) di console browser atau Node.js. Ini berbeda dari menguji terhadap PCRE (yang dipakai PHP, dan yang jadi default di banyak regex tester "universal") atau modul re Python: JavaScript tidak punya possessive quantifier atau atomic group, dan named capture group memakai (?<name>...) alih-alih (?P<name>...) milik PCRE/Python.

    Jika Anda akan menerapkan pola dalam JS atau TypeScript — validasi formulir, route matcher, parser log — mengujinya di sini berarti tidak ada perbedaan varian sama sekali: apa yang ditandai di halaman ini persis sama dengan yang dicocokkan new RegExp(pola, flags) saat runtime.

    Bagaimana alat ini cocok dengan alur kerja nyata

    Uji regex jarang berdiri sendiri. Urutan yang biasa: pastikan pola di sini, jalankan .replace() sesungguhnya di kode Anda, lalu diff teks sebelum/sesudah untuk memastikan penggantiannya sesuai harapan dan tidak lebih dari itu.

    Mengekstrak data terstruktur dengan capture group sering langsung berlanjut ke JSON — format hasil ekstraksi untuk memeriksa apakah hasilnya sesuai harapan.

    Text Diff · JSON Formatter

    Pertanyaan yang Sering Diajukan

    Varian regex apa yang dipakai alat ini?

    JavaScript (ECMAScript), mesin yang ada di setiap browser dan Node.js. Sintaks intinya portabel, tapi beberapa fitur berbeda antar bahasa — misalnya dukungan lookbehind dan sintaks named group berbeda di Python dan Java.

    Mengapa pola saya hanya menemukan kecocokan pertama?

    Flag g (global) tidak ada. Tanpa g, regex berhenti setelah kecocokan pertama. Alat ini menggunakan g sebagai default — pastikan Anda tidak menghapusnya.

    Mengapa . tidak cocok dengan baris baru saya?

    Secara default . cocok dengan karakter apa pun kecuali baris baru. Tambahkan flag s (dotall) agar . juga cocok dengan baris baru, atau gunakan [\s\S] sebagai alternatif portabel.

    Apa arti hasil capture group?

    Setiap pasangan tanda kurung dalam pola Anda menangkap teks yang cocok dengannya. $1 adalah grup pertama, $2 grup kedua, dan seterusnya — inilah yang Anda rujuk dalam operasi replace dan kode ekstraksi.

    Mengapa regex saya lambat atau macet?

    Kemungkinan besar catastrophic backtracking, disebabkan oleh quantifier bersarang seperti (a+)+ pada input yang tidak cocok. Tulis ulang pola untuk menghindari pengulangan yang ambigu. Alat ini membatasi 1000 kecocokan agar tetap responsif.

    Alat Terkait