Перейти до основного вмісту
Модуль 5 · Урок 2 із 418/32 у курсі~8 min
Модульні уроки (2/4)

Діапазони всередині класів: `[a-z0-9]`

Перераховувати кожного символа по черзі втомливо. Класи приймають діапазони з дефісом -: [a-z] відповідає будь-якій малий регістру, [0-9] цифра, [A-Z] велика літера.

Code
Pattern: [a-z]+
Sample:  Ciao Mondo 123
          ^^^  ^^^^

Діапазон використовує порядок кодових точок (по суті, ASCII для латинських символів): a-z означає "кожний символ від кодової точки a до кодової точки z", отже, 26 букв.

Комбінування діапазонів

Всередині одного класу можна змішувати кілька діапазонів і окремих символів:

Code
[a-zA-Z0-9_]   identical to \\w (in ASCII)
[a-fA-F0-9]    hexadecimal digits
[0-9.]         digits or the dot (for decimal numbers)

Порядок не має значення: [0-9a-z] та [a-z0-9] ідентичні.

Діапазони та порядок символів ASCII

Такі діапазони, як [a-z], суворо дотримуються порядку символів у таблиці ASCII. Запис недійсного діапазону, наприклад [z-a], спричинить помилку компіляції регулярного виразу. На початку або в кінці слід поставити тире: [a-z-].

Спробуйте

вправи#regex.m5.l2.e1
Спроби: 0Завантаження…

Знайдіть кожну шістнадцяткову послідовність із 6 символів (наприклад, код кольору #1a2b3c). Цифри йдуть від 0 до 9, букви від a до f (великі або малі).

Завантаження редактора…
Показати підказку

Додайте A-F до діапазону або використовуйте прапорець i.

Рішення доступне після 3 спроб

Повторна вправа

вправи#regex.m5.l2.e2
Спроби: 0Завантаження…

Знайдіть код кожного продукту, який складається з 3 великих літер, за якими йдуть 4 цифри (наприклад, ABC1234).

Завантаження редактора…
Показати підказку

Для цифр ви можете використовувати \\d або діапазон [0-9]: ця вправа вимагає явного введення [0-9].

Рішення доступне після 3 спроб

Додатковий виклик

вправи#regex.m5.l2.e3
Спроби: 0Завантаження…

Знайдіть у тексті шістнадцяткові символи (цифри 0-9 і літери A-F, як великі, так і малі).

Завантаження редактора…
Показати підказку

Поєднайте три діапазони: 0-9, a-f, A-F.

Рішення доступне після 3 спроб