Lekcje modułu (2/4)
Zakresy w klasach znaków: `[a-z0-9]`
Wypisywanie każdego znaku po kolei jest uciążliwe. Klasy akceptują zakresy z użyciem myślnika -: [a-z] dopasowuje dowolną małą literę, [0-9] cyfrę, [A-Z] wielką literę.
Pattern: [a-z]+
Sample: Ciao Mondo 123
^^^ ^^^^Zakres korzysta z kolejności punktów kodowych (code points) (w uproszczeniu ASCII dla znaków łacińskich): a-z oznacza "każdy znak od kodu a do kodu z", czyli 26 liter.
Łączenie zakresów
Wewnątrz jednej klasy można mieszać wiele zakresów i pojedynczych znaków:
[a-zA-Z0-9_] identyczne z \w (w ASCII)
[a-fA-F0-9] cyfry szesnastkowe
[0-9.] cyfry lub kropka (dla liczb dziesiętnych)Kolejność nie ma znaczenia: [0-9a-z] i [a-z0-9] są identyczne.
Zakresy i kolejność znaków ASCII
Zakresy takie jak [a-z] ściśle przestrzegają kolejności znaków w tabeli ASCII. Wpisanie niepoprawnego zakresu, np. [z-a], spowoduje błąd kompilacji wyrażenia. Dosłowny myślnik powinien być umieszczony na początku lub na końcu: [a-z-].
Spróbuj sam
Znajdź każdą sekwencję szesnastkową o długości 6 znaków (np. kod koloru #1a2b3c). Cyfry mieszczą się w zakresie od 0 do 9, litery od a do f (małe lub wielkie).
Pokaż wskazówkę
Dodaj A-F do zakresu lub użyj flagi i.
Rozwiązanie dostępne po 3 próbach
Ćwiczenie powtórzeniowe
Znajdź każdy kod produktu składający się z 3 wielkich liter i następujących po nich 4 cyfr (np. ABC1234).
Pokaż wskazówkę
Dla cyfr możesz użyć \d lub zakresu [0-9]: to ćwiczenie wymaga wyraźnego zapisu [0-9].
Rozwiązanie dostępne po 3 próbach
Dodatkowe wyzwanie
Znajdź znaki szesnastkowe w tekście (cyfry 0-9 oraz litery A-F, zarówno małe, jak i wielkie).
Pokaż wskazówkę
Połącz trzy zakresy: 0-9, a-f, A-F.
Rozwiązanie dostępne po 3 próbach