Pelajaran modul (1/4)
Semua bendera secara detail
Rekap lengkap semua flag yang tersedia di JavaScript modern (ES2024). Bendera adalah karakter tunggal yang mengubah perilaku ekspresi reguler; mereka dapat digabungkan dalam urutan apa pun.
| Bendera | Nama | Efek |
|---|---|---|
g | Global | Menemukan semua kecocokan, bukan hanya yang pertama (wajib untuk matchAll). |
i | Abaikan kasus | Tidak peka huruf besar-kecil (termasuk karakter Unicode dengan tanda u/v). |
m | Multibaris | ^ dan $ cocok dengan awal/akhir baris, bukan hanya string. |
s | Titik semua | . juga cocok dengan baris baru \n. |
u | Unikode | Penanganan titik kode yang benar > 0xFFFF dan mengaktifkan \\p{...}. |
v | Unicode v-mode | Perpanjangan modern u dengan operasi yang ditetapkan ([abc&&[def]]). |
y | Lengket | Cocok hanya dari posisi lastIndex, tidak boleh dilewati. |
d | Memiliki indeks | Hasilnya meliputi indices dengan awal/akhir tiap grup. |
const re = /foo/gimu; // global + insensitive + multiline + unicode
re.flags; // "gimu" (always in canonical order: dgimsuvy)Kombinasi yang khas
g+i-- "temukan semuanya, tidak peka huruf besar-kecil". 80% kegunaan praktis.g+m-- untuk mencocokkan baris demi baris dalam teks multibaris.g+s-- "titik cocok dengan apa pun, termasuk baris baru". Berguna untuk mengekstrak blok di beberapa baris.u(atauv) -- selalu jika Anda berhadapan dengan teks dunia nyata dalam bahasa atau emoji apa pun.
Unicode v-mode dan evolusi bendera
Bendera v (tersedia di ES2024) menggantikan u dan memungkinkan operasi lanjutan pada himpunan, seperti perpotongan dan pengurangan kelas karakter (misalnya [\\p{White_Space}&&\\p{ASCII}]).
Cobalah
Temukan semua kemunculan 'ciao' apa pun hurufnya. Gunakan bendera yang benar.
Tunjukkan petunjuk
Tambahkan tanda i (tidak peka huruf besar-kecil) di sebelah g.
Solusi tersedia setelah 3 upaya
Tinjau latihan
Temukan blok antara `<pre>` dan `</pre>` meskipun blok tersebut berisi baris baru. Anda harus menggunakan bendera yang membuat titik tersebut juga cocok dengan baris baru.
Tunjukkan petunjuk
Tambahkan bendera s jadi. cocok dengan baris baru juga, dan gunakan malas .+? untuk berhenti di </pre> pertama.
Solusi tersedia setelah 3 upaya
Tantangan tambahan
Match sequences of ASCII characters, explicitly excluding digits, using Unicode v-mode properties (flag `v`) and set subtraction syntax `[\p{ASCII}--\p{Nd}]+`.
Tunjukkan petunjuk
Gunakan tanda v dan tuliskan pengurangan himpunan [\\p{ASCII}--\\p{Nd}]+ untuk mengecualikan angka.
Solusi tersedia setelah 3 upaya