Modül dersleri (2/4)
Temel sınıflar: \d \w \s
Gerçek karakterlerin ötesinde, regex size önceden tanımlanmış sınıflar verir: kısayollar "herhangi bir rakam", "herhangi bir kelime karakteri", "herhangi bir boşluk" için. Onlar ilk gerçekten yararlı kalıplara doğru bir adım atın.
| Sınıf | Maçlar |
|---|---|
\d | A rakam (0-9) |
\w | Bir sözcük karakteri (A-Za-z0-9_) |
\s | A boşluk (boşluk, sekme, yeni satır vb.) |
\D | DEĞİL bir rakam |
\W | DEĞİL bir kelime karakteri |
\S | boşluk DEĞİL |
Her biri tek bir karakter ile eşleşir. "Bir veya daha fazla karakteri" eşleştirmek için
niceleyicilere ihtiyacınız var (+, modül 2'de), ancak biz hemen + kullanacağız
çünkü "bana tüm sayıları bul" beklemek çok faydalı.
Pattern: \d+
Sample: Ho 3 mele, 12 pere e 100 prugne.
^ ^^ ^^^\d+ bir veya daha fazla ardışık rakam anlamına gelir: 3, 12 ve ile eşleşir
100 üç ayrı maç olarak (g bayrağıyla).
\w: kelime karakterleri
\w, [A-Za-z0-9_] (ASCII harfler, rakamlar, alt çizgi) ile eşdeğerdir. o
aksan, Yunanca harfler veya emoji İÇERMEZ: Unicode'a ihtiyacınız olanlar için
özellik çıkışları (\p{L}, modül 5).
Temel sınıflara ve olumsuzlamalara derinlemesine bakış
Önceden tanımlanmış \\d, \\w, \\s sınıfları kodlamayı hızlandırır. Büyük harfli versiyonlar (\\D, \\W, \\S) seti geçersiz kılar. Örneğin, \\S+ boşluk içermeyen herhangi bir metin bloğunu yakalar (noktalama işaretleri dahil tam kelimeler gibi).
Motor, \\s işlevini yalnızca standart alanı değil aynı zamanda sekmeleri (\\t) ve yeni satır karakterlerini (\\n veya \\r) eşleştirerek işler.
Deneyin
Metinden ardışık rakamların (sayıların) her dizisini çıkarın. `\\d` sınıfını `+` niceleyiciyle birlikte kullanın.
İpucu göster
\\d+ bir veya daha fazla rakamı yakalar. G bayrağıyla her maçı toplarsınız.
3 denemeden sonra çözüm mevcut
Alıştırmayı gözden geçirin
Metindeki her 'kelimeyi' bulun: sürekli bir kelime karakterleri dizisi (`\\w+`).
İpucu göster
\\w+ harf/rakam/alt çizgi dizileriyle eşleşir. Noktalama işaretleri atlanır.
3 denemeden sonra çözüm mevcut
Ek zorluk
Find all sequences of one or more consecutive whitespace characters in the text (including spaces, tabs, and newlines).
İpucu göster
Ardışık boşluk dizilerini yakalamak için \\s sınıfını + niceleyiciyle birlikte kullanın.
3 denemeden sonra çözüm mevcut