Уроки модуля (2/4)
Диапазоны внутри классов: `[a-z0-9]`
Перечислять каждого персонажа по одному утомительно. Классы принимают диапазоны
с дефисом -: [a-z] соответствует любой строчной букве, [0-9]
цифра, [A-Z] заглавная буква.
Pattern: [a-z]+
Sample: Ciao Mondo 123
^^^ ^^^^В диапазоне используется порядок кодовых точек (по существу ASCII для латинских символов):
a-z означает «каждый символ от кодовой точки a до кодовой точки
z", то есть 26 букв.
Объединение диапазонов
Внутри одного класса вы можете смешивать несколько диапазонов и отдельные символы:
[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-].
Попробуйте это
Найдите каждую шестнадцатеричную последовательность из 6 символов (например, цветовой код #1a2b3c). Цифры идут от 0 до 9, буквы от a до f (прописные или строчные).
Показать подсказку
Добавьте A-F в диапазон или используйте флаг i.
Решение доступно после 3 попыток
Обзор упражнения
Найдите каждый код продукта, состоящий из 3 заглавных букв и 4 цифр (например, ABC1234).
Показать подсказку
Для цифр вы можете использовать \\d или диапазон [0–9]: для этого упражнения требуется явное значение [0–9].
Решение доступно после 3 попыток
Дополнительная задача
Найдите в тексте шестнадцатеричные символы (цифры 0–9 и буквы A–F, как прописные, так и строчные).
Показать подсказку
Объедините три диапазона: 0-9, a-f, AF.
Решение доступно после 3 попыток