Przejdź do głównej treści
eLearner.app
Moduł 1 · Lekcja 2 z 42/32 w kursie~10 min
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.

KlasaDopasowuje
\dCyfrę (0-9)
\wZnak słowa (A-Za-z0-9_)
\sBiały znak (spacja, tabulacja, znak nowej linii itp.)
\DNIE cyfrę
\WNIE znak słowa
\SNIE 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ć.

Code
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

Ćwiczenie#regex.m1.l2.e1
Próby: 0Ładowanie...

Wyodrębnij każdą sekwencję kolejnych cyfr (liczb) z tekstu. Użyj klasy `\d` z kwantyfikatorem `+`.

Ładowanie edytora...
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

Ćwiczenie#regex.m1.l2.e2
Próby: 0Ładowanie...

Znajdź każde 'słowo' w tekście: ciągłą sekwencję znaków słowa (`\w+`).

Ładowanie edytora...
Pokaż wskazówkę

\w+ dopasowuje sekwencje liter/cyfr/podkreśleń. Znaki interpunkcyjne są pomijane.

Rozwiązanie dostępne po 3 próbach

Dodatkowe wyzwanie

Ćwiczenie#regex.m1.l2.e3
Próby: 0Ładowanie...

Znajdź wszystkie sekwencje jednego lub więcej kolejnych białych znaków w tekście (w tym spacji, tabulacji i znaków nowej linii).

Ładowanie edytora...
Pokaż wskazówkę

Użyj klasy \s z kwantyfikatorem +, aby uchwycić kolejne białe znaki.

Rozwiązanie dostępne po 3 próbach