Modül dersleri (4/4)
Unicode özelliği kaçar
ASCII'deki \w, \d, \s sınıfları İtalyanca, Fransızca, Yunanca için yeterli değil
veya emoji metni. Modern JavaScript (u bayrağıyla - Unicode) teklifleri
özellik kaçışları \p{...}: Unicode'a dayalı anlamsal sınıflar
karakterlerin özellikleri.
Pattern: \p{L}+ (with flag u)
Sample: Ciao caffe' \u00fcber \u4e16\u754c
^^^^ ^^^^^^^ ^^^^ ^^^^\p{L} = "herhangi bir Harf (Unicode)": vurgulu harfleri içerir, Çince
ideogramlar, Kiril, Yunanca\u2026 her şey. En yaygın olanları:
\p{L}-- harf (herhangi bir alfabenin).\p{N}-- sayı (Arapça rakamlar, Roma, Hint\u2026).\p{P}-- noktalama işareti.\p{S}-- sembol (matematik, para birimi, emoji\u2026).\p{Z}-- boşluk/ayırıcı.\p{Script=Latin}-- özellikle Latin alfabesi.\p{Script=Greek}-- Yunan alfabesi. Ve benzeri.
Ve olumsuz sürümler \P{L}, \P{N}, \u2026
\w ve \d ile fark
\\w matches [A-Za-z0-9_] -- ASCII only, no "caffe'"
\\p{L}\\p{N}_ with flag u -- includes accented charactersİtalyanca metnin sağlam bir ayrıştırıcısı için \p{L} yerine \w'yı tercih edin:
citta', perche', andro' kelime olarak doğru şekilde eşleşiyor.
Unicode özellikleri ve tarayıcı uyumluluğu
\\p{L} (Harfler) veya \\p{Script=Latin} gibi Unicode özellikleri, sınıfları uluslararası alfabelere genişletir. JavaScript'te kesinlikle u (veya v) bayrağını gerektirirler, aksi takdirde motor bir sözdizimi hatası atar.
Deneyin
Aksanlı olanlar da dahil olmak üzere her kelimeyi bulun (citta', perche', e' \u2026). u bayrağıyla kaçış \\p{L} özelliğini kullanın.
İpucu göster
\\w+'yı \\p{L}+ ile değiştirin ve u bayrağını ekleyin (g'ye ek olarak).
3 denemeden sonra çözüm mevcut
Alıştırmayı gözden geçirin
Harfler ve rakamlar hariç, metindeki tüm Unicode sembollerini (para birimleri, matematik, emoji) bulun.
İpucu göster
\\p{S}, Unicode'un Sembol kategorisiyle eşleşir. U bayrağını hatırla.
3 denemeden sonra çözüm mevcut
Ek zorluk
`\p{Script=Kiril}` kullanarak Kiril alfabesi harflerinden oluşan tüm kelimeleri bulun.
İpucu göster
+ niceleyici ve u işaretiyle \\p{Script=Cyrillic} kullanın.
3 denemeden sonra çözüm mevcut