Перейти к основному содержимому
Модуль 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, AF.

Решение доступно после 3 попыток