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

Code
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:

Code
[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

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

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).

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

Dodaj A-F do zakresu lub użyj flagi i.

Rozwiązanie dostępne po 3 próbach

Ćwiczenie powtórzeniowe

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

Znajdź każdy kod produktu składający się z 3 wielkich liter i następujących po nich 4 cyfr (np. ABC1234).

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

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

Znajdź znaki szesnastkowe w tekście (cyfry 0-9 oraz litery A-F, zarówno małe, jak i wielkie).

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

Połącz trzy zakresy: 0-9, a-f, A-F.

Rozwiązanie dostępne po 3 próbach