Modül dersleri (1/4)
Tüm bayraklar ayrıntılı olarak
Modern JavaScript'te bulunan tüm bayrakların tam özeti (ES2024). Bayrak, davranışı değiştiren tek bir karakterdir. normal ifade; herhangi bir sırayla birleştirilebilirler.
| Bayrak | İsim | Efekt |
|---|---|---|
g | Küresel | Yalnızca ilkini değil tüm eşleşmeleri bulur (matchAll için gereklidir). |
i | Büyük/küçük harf göz ardı | Büyük/küçük harfe duyarlı değildir (u/v bayrağına sahip Unicode karakterler dahil). |
m | Çok satırlı | ^ ve $ yalnızca dizeyle değil, satırın başlangıcı/bitişiyle de eşleşir. |
s | Tümünü noktala | . aynı zamanda yeni satır \n ile de eşleşir. |
u | Unicode | Kod noktalarının doğru şekilde işlenmesi > 0xFFFF ve \\p{...} etkinleştirilir. |
v | Unicode v modu | Ayarlanmış işlemlerle ([abc&&[def]]) u'nin modern uzantısı. |
y | Yapışkan | Yalnızca lastIndex konumundan itibaren eşleşir, atlama yoktur. |
d | Endeksleri var | Sonuç, her grubun başlangıcı/bitişiyle birlikte indices değerini içerir. |
const re = /foo/gimu; // global + insensitive + multiline + unicode
re.flags; // "gimu" (always in canonical order: dgimsuvy)Tipik kombinasyonlar
g+i-- "her şeyi bul, büyük/küçük harfe duyarlı değil". Pratik kullanımların %80'i.g+m-- çok satırlı metinde satır satır eşleştirmek için.g+s-- "nokta, yeni satırlar dahil her şeyle eşleşir". Birden fazla satırdaki blokları çıkarmak için kullanışlıdır.u(veyav) -- Herhangi bir dilde veya emojide gerçek dünyaya ait metinlerle uğraşıyorsanız her zaman.
Unicode v-modu ve işaret evrimi
v bayrağı (ES2024'te mevcuttur) u'nin yerini alır ve karakter sınıfı kesişimi ve çıkarma gibi kümeler üzerinde gelişmiş işlemlere olanak tanır (ör. [\\p{White_Space}&&\\p{ASCII}]).
Deneyin
Büyük/küçük harfe bakılmaksızın 'ciao'nun tüm oluşumlarını bulun. Doğru bayrağı kullanın.
İpucu göster
g'nin yanına i bayrağını (büyük/küçük harfe duyarlı) ekleyin.
3 denemeden sonra çözüm mevcut
Alıştırmayı gözden geçirin
Yeni satırlar içerse bile `<pre>` ve `</pre>` arasında bir blok bulun. Noktanın aynı zamanda yeni satırlarla eşleşmesini sağlayan bayrağı kullanmalısınız.
İpucu göster
s bayrağını bu şekilde ekleyin. yeni satırlarla da eşleşir ve lazy .+? ilk başta durmak için </pre>.
3 denemeden sonra çözüm mevcut
Ek zorluk
Match sequences of ASCII characters, explicitly excluding digits, using Unicode v-mode properties (flag `v`) and set subtraction syntax `[\p{ASCII}--\p{Nd}]+`.
İpucu göster
Sayıları hariç tutmak için v bayrağını kullanın ve set çıkarma [\\p{ASCII}--\\p{Nd}]+ yazın.
3 denemeden sonra çözüm mevcut