Langsung ke konten

Penguji Regex untuk Regular Expression JavaScript

Tulis pola, tempel teks, lalu lihat kecocokannya menyala saat Anda mengetik. Capture group, flag, dan hasil replace ditampilkan semua, dan tidak ada yang keluar dari browser Anda.

Flag

Menggunakan mesin regex JavaScript bawaan browser Anda (ECMAScript), sama seperti Node.js.

Kecocokan di teks Anda

Hubungi budi.santoso@example.com atau support@fileora.tools untuk bantuan. Tidak valid: user@localhost

Cara tes regex

  1. Ketik pola Anda di kotak Regular expression, tanpa garis miring pembuka dan penutup. Sebagai awal, sudah dimuat contoh pola untuk mencari alamat email.
  2. Pilih flag dengan mengetuk g, i, m, s, u, atau y. Flag yang aktif ditampilkan setelah garis miring penutup.
  3. Tempel teks uji. Setiap kecocokan disorot di kotak Kecocokan di teks Anda, dengan jumlahnya di atas.
  4. Jika perlu, isi teks pengganti, misalnya $1 atau $<name>, untuk melihat teks setelah diganti.
  5. Periksa tabel Detail kecocokan untuk posisi setiap kecocokan dan nilai setiap capture group.

Fitur

  • Sorotan langsung kecocokan saat Anda mengetik.
  • Keenam flag JavaScript: global, ignore case, multiline, dot-all, Unicode, dan sticky.
  • Capture group dalam tabel, dengan named group ditampilkan memakai namanya sendiri.
  • Pratinjau replace yang mendukung $1, $<name>, dan $&, lengkap dengan tombol salin.
  • Jumlah dan posisi kecocokan, dengan 1.000 kecocokan pertama dicantumkan.
  • Perlindungan dari pola yang lepas kendali: evaluasi berjalan di Web Worker dan dihentikan setelah 1,5 detik.
  • Pesan kesalahan yang jelas dari mesin regex saat pola tidak valid, misalnya grup yang tidak ditutup.

Mengapa tes regex di Fileora

Data uji sering kali adalah data asli: log server, ekspor pelanggan, atau daftar email. Fileora menjalankan regular expression di browser Anda, jadi tidak satu pun data itu meninggalkan perangkat. Gratis, tanpa daftar, dan tombol flag-nya cukup besar untuk nyaman dipakai di HP.

Karena penguji ini memakai mesin yang sama dengan kode JavaScript Anda, tidak akan ada kejutan saat pola disalin ke proyek.

Contekan regex JavaScript

  • . karakter apa pun kecuali baris baru (benar-benar karakter apa pun dengan flag s)
  • \d, \w, \s digit, karakter kata (huruf Latin, angka, atau garis bawah), dan karakter spasi
  • \D, \W, \S kebalikan dari masing-masing di atas
  • [abc], [^abc], [a-z] satu karakter dari himpunan, di luar himpunan, atau dalam rentang
  • ^ dan $ awal dan akhir teks, atau setiap baris dengan flag m
  • \b batas kata
  • *, +, ? nol kali atau lebih, satu kali atau lebih, nol atau satu kali
  • {3}, {2,5} tepat 3 kali, atau antara 2 sampai 5 kali
  • *?, +? versi lazy yang mencocokkan sesedikit mungkin
  • (abc) capture group; (?:abc) grup yang tidak menangkap
  • (?<year>\d{4}) named group, dipakai sebagai $<year> di teks pengganti
  • a|b a atau b
  • (?=x), (?!x) diikuti x, tidak diikuti x
  • (?<=x), (?<!x) didahului x, tidak didahului x
  • \p{L} huruf apa pun dalam aksara apa pun, dengan flag u

Contoh untuk data Indonesia: ^(\+62|0)8\d{8,11}$ cocok dengan nomor HP yang diawali 08 atau +628, dan \b\d{5}\b menemukan kode pos lima digit di dalam alamat.

Menghindari pola yang lambat

Catastrophic backtracking biasanya berasal dari grup berulang yang berisi pengulangan lain, seperti (a+)+ atau (\w+\s?)*. Buat setiap bagian pola mencocokkan hal yang jelas berbeda, pasang jangkar ^ dan $ bila memungkinkan, dan utamakan kelas karakter yang spesifik daripada .*.

Untuk memeriksa efek penggantian pada file panjang, bandingkan teks sebelum dan sesudah dengan pembanding teks, dan rapikan JSON hasil ekstraksi dengan format JSON.

Pertanyaan yang sering diajukan

Flavor regex apa yang dipakai alat ini?

Alat ini memakai mesin regular expression JavaScript bawaan browser Anda, yang mengikuti standar ECMAScript dan berperilaku sama dengan Node.js. Pola yang berhasil di sini akan berhasil juga di kode JavaScript dan TypeScript. Flavor lain seperti PCRE (PHP), Python, atau .NET punya sebagian sintaks dan fitur yang berbeda, jadi uji pola tersebut di lingkungannya masing-masing.

Apa fungsi flag g, i, m, s, u, dan y?

g mencari semua kecocokan, bukan hanya yang pertama. i mengabaikan huruf besar dan kecil. m membuat ^ dan $ cocok di awal dan akhir setiap baris. s membuat titik juga cocok dengan baris baru. u mengaktifkan mode Unicode penuh, yang diperlukan untuk pola seperti \p{L}. y (sticky) hanya mencocokkan tepat di posisi tempat kecocokan terakhir berakhir.

Bagaimana memakai capture group di teks pengganti?

Ketik teks pengganti di kotak Ganti dengan. Gunakan $1, $2, dan seterusnya untuk grup bernomor, $<name> untuk named group, dan $& untuk seluruh kecocokan. Kotak Hasil setelah diganti menampilkan seluruh teks dengan semua penggantian diterapkan, dan hasilnya bisa Anda salin.

Kenapa pola saya dihentikan karena terlalu lama?

Sebagian pola, seperti (a+)+ yang diikuti sesuatu yang tidak cocok, membuat mesin regex mencoba kombinasi dalam jumlah luar biasa banyak. Ini disebut catastrophic backtracking. Alat ini menjalankan setiap pola di background worker terpisah dan menghentikannya setelah 1,5 detik agar halaman tidak pernah macet. Tulis ulang pola supaya pengulangan bertingkat tidak bisa mencocokkan teks yang sama dengan banyak cara.

Apakah ada batas jumlah kecocokan?

Jumlah total kecocokan selalu dihitung dan ditampilkan, tetapi tabel Detail kecocokan hanya mencantumkan 1.000 kecocokan pertama agar halaman tetap cepat. Sorotan di dalam teks juga mencakup 1.000 kecocokan pertama yang sama.

Apakah teks uji saya dikirim ke server?

Tidak. Pola dan teks diproses di Web Worker di dalam browser Anda. Tidak ada yang diunggah atau disimpan, jadi Anda bisa menguji pola pada file log atau data yang berisi informasi pribadi.

Tidak menemukan alat yang Anda butuhkan, atau ada yang tidak berfungsi?

Beri tahu kami alat apa yang Anda inginkan atau apa yang salah. Kami membaca setiap pesan, dan permintaan menentukan apa yang kami buat berikutnya.

Membuka aplikasi email Anda. Mohon jangan lampirkan file pribadi.