๐Ÿ”งToolify

Penguji Regex (pencocokan langsung, grup, penggantian)

Ketik regex dan teks uji โ€” pencocokan disorot secara langsung saat Anda mengetik. Aktifkan flag (g/i/m/s/u), periksa grup penangkapan, dan pratinjau penggantian.

Flag
Pencocokan (4)
Hello World, this is a Regex Tester.

Cara kerjanya

Apa yang dilakukan flag

g (global): temukan semua pencocokan, bukan hanya yang pertama. Diperlukan untuk perilaku ganti-semua. i (case-insensitive): /[a-z]/i mencocokkan kedua kasus. m (multiline): ^ dan $ mencocokkan pada batas baris, bukan hanya awal/akhir string. s (dotall): . juga mencocokkan baris baru. u (unicode): penanganan yang tepat untuk code point di atas 0xFFFF (emoji, karakter CJK dalam pasangan surrogate).

Kebanyakan orang memulai dengan /g/i/m. /s/ berguna untuk pencocokan teks multi-baris. /u/ direkomendasikan setiap kali Anda mungkin menemukan emoji atau karakter non-BMP โ€” tanpanya, /./ tidak akan mencocokkan emoji 4-byte sebagai satu karakter.

Grup penangkapan dan penggantian

Tanda kurung membuat grup penangkapan: /(\d{4})-(\d{2})/ pada '2026-05' menangkap '2026' dan '05' secara terpisah. Referensikan sebagai $1, $2 dalam penggantian. Grup bernama menggunakan (?<nama>...) dan referensi $<nama> dalam ganti.

Trik ganti umum: $& menyisipkan pencocokan penuh. $1, $2 dll. menyisipkan grup penangkapan. $$ menyisipkan tanda $ literal. Pratinjau penggantian di sini memungkinkan Anda memeriksa sebelum menjalankan pola yang sama pada teks nyata โ€” jauh lebih aman daripada langsung menjalankannya pada data produksi.

Jebakan yang perlu diperhatikan

Escape backslash. Untuk mencocokkan titik literal '.', gunakan '\.'. Dalam string sumber JavaScript ini menjadi '\\.' tetapi dalam alat ini Anda cukup ketik '\.' karena ini adalah sumber regex.

Backtracking katastrofik. Pola seperti /(a+)+/ pada 'aaaaโ€ฆ!' bisa memakan waktu lama. Jika uji Anda tampak membeku, regex Anda mungkin memiliki kuantifier bersarang. Sederhanakan atau gunakan grup possessive/atomic (tidak tersedia di JS regex; gunakan desain hati-hati).

Greedy vs lazy. /<.+>/ pada '<a><b>' mencocokkan '<a><b>' (greedy). /<.+?>/ mencocokkan '<a>' (lazy). Pilih yang tepat untuk kasus penggunaan Anda.

Pertanyaan umum

โ€บVarian regex mana yang digunakan ini?

Regex ECMAScript JavaScript (yang diimplementasikan browser Anda). Sedikit berbeda dari PCRE yang digunakan di PHP, .NET, atau Python.

โ€บMengapa lookbehind tidak bekerja?

Di browser modern memang bisa โ€” Chrome, Firefox, Safari, Edge semuanya mendukung (?<=...) dan (?<!...) sejak 2021. Jika milik Anda tidak, browser Anda mungkin sudah usang.

โ€บApa yang dilakukan flag 'u'?

Mengaktifkan penanganan Unicode yang tepat. Emoji seperti ๐ŸŽ‰ (yang merupakan pasangan surrogate dalam UTF-16) diperlakukan sebagai satu karakter dengan /u/ tetapi dua dalam mode default.

โ€บBagaimana cara mencocokkan tab atau baris baru?

\t untuk tab, \n untuk baris baru, \r untuk carriage return, \s untuk spasi apapun termasuk semua ini.

โ€บMengapa penggantian saya tidak bekerja?

Paling sering, Anda lupa flag 'g' โ€” penggantian tanpa 'g' hanya menggantikan pencocokan pertama. Aktifkan 'g' untuk menggantikan semua.

โ€บBisakah saya menggunakan ini untuk teks yang sangat panjang?

Ya, hingga beberapa MB. Lebih dari itu, browser mungkin melambat. Hindari pola katastrofik (kuantifier bersarang) pada input panjang.

โ€บApakah data meninggalkan browser saya?

Tidak. Pola dan teks diproses secara lokal saja.

โ€บApakah ada cheat sheet regex?

Cari 'JavaScript regex cheat sheet'. Halaman RegExp MDN adalah referensi otoritatif.

Alat terkait

Terakhir diperbarui:

Coba prompt AI kami โ†’