Ana içeriğe geç
Modül 1 · Ders 2 ders 4Kurstaki 2/32~10 min
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ıfMaçlar
\dA rakam (0-9)
\wBir sözcük karakteri (A-Za-z0-9_)
\sA boşluk (boşluk, sekme, yeni satır vb.)
\DDEĞİL bir rakam
\WDEĞİL bir kelime karakteri
\Sboş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ı.

Code
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

Egzersiz#regex.m1.l2.e1
Denemeler: 0Yükleniyor…

Metinden ardışık rakamların (sayıların) her dizisini çıkarın. `\\d` sınıfını `+` niceleyiciyle birlikte kullanın.

Düzenleyici yükleniyor…
İ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

Egzersiz#regex.m1.l2.e2
Denemeler: 0Yükleniyor…

Metindeki her 'kelimeyi' bulun: sürekli bir kelime karakterleri dizisi (`\\w+`).

Düzenleyici yükleniyor…
İ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

Egzersiz#regex.m1.l2.e3
Denemeler: 0Yükleniyor…

Find all sequences of one or more consecutive whitespace characters in the text (including spaces, tabs, and newlines).

Düzenleyici yükleniyor…
İ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