Lekcje modułu (1/4)
Wzorce dosłowne
W wyrażeniach regularnych "zwykłe" znaki alfanumeryczne dopasowują po prostu same siebie: wpisz ciao jako wzorzec, a silnik wyszuka podciąg ciao w tekście. Nic bardziej magicznego: skanowanie od lewej do prawej pozycja po pozycji.
Pattern: ciao
Sample: Buongiorno, ciao mondo! Ti dico anche ciao.
^^^^ ^^^^Dopasowanie (match) zawsze niesie ze sobą dwie podstawowe informacje:
- dopasowany tekst (tutaj
ciao); - indeks (offset liczony od 0), w którym zaczyna się w próbce (tutaj
12i38).
Wyrażenia regularne są domyślnie wrażliwe na wielkość liter: ciao nie pasuje do Ciao ani do CIAO. Aby zignorować wielkość liter, dodaj flagę i (case-insensitive).
Jak działa silnik
Silnik wyrażeń regularnych analizuje tekst po jednym znaku na raz. Kiedy szuka dosłownego wzorca ciao, najpierw szuka litery c. Po jej znalezieniu sprawdza, czy kolejnym znakiem jest i, potem a i na końcu o. Jeśli któryś z nich nie pasuje (mismatch), silnik cofa się (backtrack) do kolejnej pozycji początkowej i ponownie szuka c.
Wzorce dosłowne i flaga g
Bez flagi g (global) silnik zatrzymuje się na pierwszym znalezionym dopasowaniu i przerywa wyszukiwanie. Przy aktywnej fladze g kontynuuje do końca ciągu znaków i zbiera wszystkie kolejne dopasowania. W lekcjach tego kursu prawie zawsze będziemy włączać flagę g: chcemy zobaczyć wszystkie dopasowania obecne w tekście.
Spróbuj sam
Znajdź wszystkie dokładne (wrażliwe na wielkość liter) wystąpienia słowa `ciao` w próbce. Wskazówka: pamiętaj o fladze `g`.
Pokaż wskazówkę
Wzorzec to samo słowo. Wielkie litery nie powinny być dopasowywane: brak flagi i.
Rozwiązanie dostępne po 3 próbach
Ćwiczenie powtórzeniowe
Znajdź wszystkie wystąpienia słowa `errore` w tekście, ignorując wielkość liter.
Pokaż wskazówkę
To samo słowo jako wzorzec, ale dodaj flagę i (ignorowanie wielkości liter) obok g.
Rozwiązanie dostępne po 3 próbach
Dodatkowe wyzwanie
Zidentyfikuj i zbierz wszystkie dokładne wystąpienia słowa `WARNING` (wielkie litery, wrażliwe na wielkość liter) w przykładowym tekście logu.
Pokaż wskazówkę
Szukaj bezpośrednio ciągu WARNING, uważając, aby nie włączyć flagi i.
Rozwiązanie dostępne po 3 próbach