Penguji regex

Uji kecocokan regular expression

Flag ?
Teks uji
Kecocokan
Tidak ada kecocokan

Panduan alat

Tentang Penguji regex

Regex tester menjalankan JavaScript regular expressions pada teks dan menampilkan live matches, capture groups, dan match indices.

Gunakan untuk debug pola email, URL, log-line, extraction, dan form-validation secara lokal di peramban.

Cara memakai Regex Tester

  1. Masukkan regular expression tanpa / / luar.
  2. Aktifkan flags g, i, m, s, u, atau y sesuai kebutuhan.
  3. Tempel test teks dan lihat tiap match, capture group, dan index.

Kapan dipakai

  • Cek apakah form-validation pattern menolak masukan valid.
  • Ekstrak IDs, URLs, atau error codes dari logs dan teks.
  • Bandingkan greedy dan lazy quantifiers untuk mengontrol match length.

Flags, capture groups, dan jebakan umum

JavaScript regex sensitif terhadap flags, escaping, dan quantifiers. Backslash hilang atau .* terlalu luas bisa mengubah hasil total.

  • g mengembalikan semua matches; tanpa g biasanya hanya match pertama.
  • i mengabaikan kapitalisasi, m membuat ^ dan $ bekerja per baris.
  • Parentheses membuat capture groups; (?: ) menghindari capture yang tidak perlu.
  • Heavy backtracking bisa memperlambat teks panjang, hindari quantifiers bertumpuk.

Pertanyaan umum tentang Penguji regex

Haruskah mengetik /pattern/g?
Tidak. Masukkan pattern saja dan set flags di kontrol terpisah.
Mengapa match lebih panjang dari harapan?
.* dan .+ default-nya greedy. Coba .*? atau character class yang lebih spesifik.
Apakah test teks saya diunggah?
Tidak. Matching berjalan lokal di peramban dan tidak diunggah ke wetool.site.

Regex Tester vs validasi produksi

Tester memberi feedback cepat, tetapi validasi di lingkungan produksi tetap perlu kasus tepi, nilai kosong, masukan Unicode, dan perbedaan mesin regex di server.

Checklist catastrophic backtracking

Regex yang bekerja pada sample pendek tetap bisa hang pada masukan panjang. Sebelum rilis, periksa nested quantifiers dan broad wildcards.

  • Hindari explosive nested atau overlapping patterns seperti (.*)+, (.+)+, atau (a|aa)+.
  • Gunakan explicit character classes alih-alih .* jika memungkinkan; misalnya [^,]* untuk comma-delimited field.
  • Batasi user-controlled masukan length dan pasang server-side timeouts atau gunakan regex engine dengan safe execution controls.

JavaScript regex vs engines bahasa lain

Lulus di online tester tidak menjamin server engine berperilaku sama. Flags, lookbehind, Unicode, dan named captures berbeda antar engines.

  • JavaScript g, i, m, s, u, y flags tidak sepenuhnya sama dengan PCRE, Python, atau Go options.
  • Lookbehind, Unicode property escapes, dan named groups mungkin tidak tersedia di old browsers atau beberapa server runtimes.
  • Sebelum memindahkan pattern ke server, cover nilai kosong, masukan panjang, emoji, dan kasus baris baru dengan uji unit dalam bahasa target.