Przejdź do głównej treści
eLearner.app
Moduł 2 · Lekcja 1 z 45/32 w kursie~10 min
Lekcje modułu (1/4)

`*`, `+`, `?`

Kwantyfikatory wskazują silnikowi, ile razy należy powtórzyć poprzedzający je element. Trzema podstawowymi kwantyfikatorami są *, +, ?.

KwantyfikatorZnaczeniePrzykładDopasowania
*zero lub więcej razyba*b, ba, baa
+jeden lub więcej razyba+ba, baa
?zero lub jeden razcolou?rcolor, colour

Dotyczą one ostatniego atomu: pojedynczego znaku (a+), klasy (\d+), grupy ((ab)+, moduł 4).

Code
Pattern: \d+
Sample:  Codici 7, 12 e 314.
                ^  ^^    ^^^

\d+ dopasowuje "jedną lub więcej cyfr", nie zatrzymuje się na pierwszej: maksymalny ciąg kolejnych cyfr.

Szczegółowa analiza opcjonalnego kwantyfikatora

Znak zapytania ? dotyczy wyłącznie jednego znaku bezpośrednio go poprzedzającego. Aby uczynić całą sekwencję znaków lub słów opcjonalną, należy ująć je w nawiasy, na przykład (https)?.

Spróbuj sam

Ćwiczenie#regex.m2.l1.e1
Próby: 0Ładowanie...

Znajdź każdą sekwencję jednej lub więcej kolejnych małych liter 'a' w tekście.

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

Użyj kwantyfikatora + (jeden lub więcej).

Rozwiązanie dostępne po 3 próbach

Ćwiczenie powtórzeniowe

Ćwiczenie#regex.m2.l1.e2
Próby: 0Ładowanie...

Znajdź każdą liczbę całkowitą z opcjonalnym znakiem minus (np. `42`, `-3`, `0`). Użyj `?` dla opcjonalnego minusa oraz `+` dla cyfr.

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

Poprzedź klasę cyfr znakiem -?, tak aby znak minus był obecny lub nie.

Rozwiązanie dostępne po 3 próbach

Dodatkowe wyzwanie

Ćwiczenie#regex.m2.l1.e3
Próby: 0Ładowanie...

Znajdź w tekście zarówno słowo `color`, jak i `colour`, używając opcjonalnego kwantyfikatora `?`.

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

Umieść ? po literze u, aby wskazać, że może ona wystąpić zero lub jeden raz.

Rozwiązanie dostępne po 3 próbach