Uji Regex

Penguji menjalankan pola Anda di mesin RegExp JavaScript browser Anda, jadi hasilnya sama dengan yang dilihat kode JavaScript Anda sendiri. Ketik pola tanpa garis miring, seperti \d{3}-\d{4}, dan pakai flag g untuk menemukan semua kecocokan.

Kecocokan yang disorot

Apakah masalah Anda terselesaikan?
Pilih kami di Google

Cara memakai

  1. Ketik pola tanpa garis miring di awal dan akhir, misalnya \d{3}-\d{4}.
  2. Nyalakan atau matikan flag. Flag g mencari semua kecocokan; tanpa g hanya kecocokan pertama yang ditampilkan.
  3. Tempel teks yang ingin dicari. Kecocokan disorot saat Anda mengetik, dan tabel menampilkan setiap kecocokan beserta capture group-nya.

Cara menghitung

Pola dikompilasi dengan mesin RegExp JavaScript bawaan browser, jadi sintaks dan perilakunya persis seperti di kode JavaScript Anda sendiri. Dialek lain seperti PCRE, Python, atau .NET berbeda di beberapa hal, misalnya dukungan lookbehind di mesin lama dan possessive quantifier yang tidak ada di JavaScript.

Dengan flag g, alat ini memanggil exec berulang kali dan mengumpulkan hingga 1.000 kecocokan. Jika kecocokan kosong, seperti pada a* atau lookahead, posisi pencarian maju satu karakter agar perulangan selalu berhenti.

Pencocokan berjalan di worker latar belakang. Jika pola butuh lebih dari 1,5 detik, misalnya karena catastrophic backtracking seperti (a+)+$, worker dihentikan dan Anda melihat pesan batas waktu, bukan halaman yang macet.

Contekan regex

TokenArti
.Karakter apa pun kecuali baris baru (termasuk baris baru dengan flag s)
\d \w \sDigit, karakter kata (huruf, digit, garis bawah), spasi
\D \W \SKebalikan dari \d, \w, dan \s
[abc] [^abc] [a-z]Salah satu dari a, b, c; selain a, b, c; rentang
^ $Awal dan akhir teks (awal dan akhir tiap baris dengan flag m)
\bBatas kata
* + ?Nol atau lebih, satu atau lebih, nol atau satu
{3} {2,5} {2,}Tepat 3, antara 2 dan 5, 2 atau lebih
*? +?Versi lazy yang mencocokkan sesedikit mungkin
(abc) (?:abc)Capture group, non-capturing group
(?<name>abc)Named capture group
a|ba atau b
(?=x) (?!x)Diikuti x, tidak diikuti x
(?<=x) (?<!x)Didahului x, tidak didahului x
\1 \k<name>Back reference ke grup 1 atau named group

Flag

FlagEfek
gGlobal: cari semua kecocokan, bukan hanya yang pertama
iAbaikan huruf besar dan kecil
mMultiline: ^ dan $ cocok di setiap baris baru
sDot all: . juga cocok dengan baris baru
uUnicode: pasangan surrogate dianggap satu karakter dan \p{...} bisa dipakai
ySticky: setiap kecocokan harus mulai tepat di akhir kecocokan sebelumnya

Pertanyaan umum

Flavor regex apa yang dipakai?

JavaScript, sesuai implementasi browser Anda. Pola yang berjalan di sini akan bekerja sama persis dengan new RegExp di kode JavaScript atau TypeScript Anda.

Kenapa hanya satu kecocokan yang muncul?

Tanpa flag g (global), regex JavaScript berhenti di kecocokan pertama. Nyalakan g untuk menemukan semuanya.

Kenapa pola saya kena batas waktu?

Quantifier bersarang seperti (a+)+ atau (.*)* bisa membuat mesin mencoba jalur dalam jumlah eksponensial pada teks yang hampir cocok. Buat bagian dalamnya lebih spesifik atau hilangkan sarangnya.

Apakah teks saya dikirim ke server?

Tidak. Pola dan teks diproses sepenuhnya di browser dan tidak pernah dikirim ke server.