Lekcje modułu (2/4)
Klasy podstawowe: \d \w \s
Oprócz znaków dosłownych, regexy oferują predefiniowane klasy: skróty dla "dowolnej cyfry", "dowolnego znaku słowa", "dowolnego białego znaku". Są one pierwszym krokiem do tworzenia naprawdę użytecznych wzorców.
| Klasa | Dopasowuje |
|---|---|
\d | Cyfrę (0-9) |
\w | Znak słowa (A-Za-z0-9_) |
\s | Biały znak (spacja, tabulacja, znak nowej linii itp.) |
\D | NIE cyfrę |
\W | NIE znak słowa |
\S | NIE biały znak |
Każda z nich dopasowuje pojedynczy znak. Aby dopasować "jeden lub więcej znaków", potrzebujesz kwantyfikatorów (+ w module 2), ale użyjemy + od razu, ponieważ "znajdź mi wszystkie liczby" jest zbyt przydatne, by z tym czekać.
Pattern: \d+
Sample: Ho 3 mele, 12 pere e 100 prugne.
^ ^^ ^^^\d+ oznacza jedną lub więcej kolejnych cyfr: dopasowuje 3, 12 i 100 jako trzy oddzielne dopasowania (przy aktywnej fladze g).
\w: znaki słowa
\w jest odpowiednikiem [A-Za-z0-9_] (litery ASCII, cyfry, podkreślenie). NIE obejmuje znaków diakrytycznych, liter greckich ani emotikonów: do nich potrzebujesz escape'ów właściwości Unicode (\p{L}, moduł 5).
Szczegółowa analiza podstawowych klas i zaprzeczeń
Predefiniowane klasy \d, \w, \s przyspieszają pisanie kodu. Wersje pisane wielkimi literami (\D, \W, \S) zaprzeczają zestawom znaków. Na przykład \S+ przechwytuje dowolny blok tekstu pozbawiony spacji (jak całe słowa wraz ze znakami interpunkcyjnymi).
Silnik obsługuje \s, dopasowując nie tylko standardową spację, ale także tabulacje (\t) oraz znaki nowej linii (\n lub \r).
Spróbuj sam
Wyodrębnij każdą sekwencję kolejnych cyfr (liczb) z tekstu. Użyj klasy `\d` z kwantyfikatorem `+`.
Pokaż wskazówkę
\d+ przechwytuje jedną lub więcej cyfr. Z flagą g zbierzesz wszystkie dopasowania.
Rozwiązanie dostępne po 3 próbach
Ćwiczenie powtórzeniowe
Znajdź każde 'słowo' w tekście: ciągłą sekwencję znaków słowa (`\w+`).
Pokaż wskazówkę
\w+ dopasowuje sekwencje liter/cyfr/podkreśleń. Znaki interpunkcyjne są pomijane.
Rozwiązanie dostępne po 3 próbach
Dodatkowe wyzwanie
Znajdź wszystkie sekwencje jednego lub więcej kolejnych białych znaków w tekście (w tym spacji, tabulacji i znaków nowej linii).
Pokaż wskazówkę
Użyj klasy \s z kwantyfikatorem +, aby uchwycić kolejne białe znaki.
Rozwiązanie dostępne po 3 próbach