Перейти к основному содержимому
Модуль 1 · Урок 2 из 42/32 в курсе~10 min
Уроки модуля (2/4)

Базовые классы: \d \w \s

Помимо буквальных символов, регулярное выражение предоставляет вам предопределенные классы: ярлыки для «любой цифры», «любого символа слова», «любого пробела». Они первые шаг к действительно полезным шаблонам.

КлассМатчи
\dцифра (0–9)
\wСлово (A-Za-z0-9_)
\sПробел (пробел, табуляция, новая строка и т. д.)
\DНЕ цифра
\WНЕ словесный символ
\SНЕ пробел

Каждый из них соответствует отдельному символу. Чтобы соответствовать «одному или нескольким символам» нужны кванторы (+, в модуле 2), но мы сразу воспользуемся + потому что «найди мне все числа» слишком полезно, чтобы ждать.

Code
Pattern: \d+
Sample:  Ho 3 mele, 12 pere e 100 prugne.
            ^      ^^      ^^^

\d+ означает одну или несколько последовательных цифр: оно соответствует 3, 12 и 100 как три отдельных совпадения (с флагом g).

\w: символы слов

\w эквивалентен [A-Za-z0-9_] (буквы ASCII, цифры, подчеркивание). Это НЕ включает диакритические знаки, греческие буквы и эмодзи: для них нужен Юникод. экранирование свойств (\p{L}, модуль 5).

Глубокое погружение в основные классы и отрицания.

Предопределенные классы \\d, \\w, \\s ускоряют кодирование. Версии в верхнем регистре (\\D, \\W, \\S) отменяют набор. Например, \\S+ захватывает любой блок текста без пробелов (например, целые слова, включая знаки препинания). Механизм обрабатывает \\s, сопоставляя не только стандартный пробел, но также символы табуляции (\\t) и символы новой строки (\\n или \\r).

Попробуйте это

Упражнение#regex.m1.l2.e1
Попыток: 0Загрузка…

Извлеките из текста каждую последовательность последовательных цифр (цифр). Используйте класс `\\d` с квантором `+`.

Загрузка редактора…
Показать подсказку

\\d+ захватывает одну или несколько цифр. С флагом g вы собираете все совпадения.

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

Обзор упражнения

Упражнение#regex.m1.l2.e2
Попыток: 0Загрузка…

Найдите каждое «слово» в тексте: непрерывную последовательность словесных символов (`\\w+`).

Загрузка редактора…
Показать подсказку

\\w+ соответствует последовательности букв/цифр/подчеркивания. Пунктуация пропускается.

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

Дополнительная задача

Упражнение#regex.m1.l2.e3
Попыток: 0Загрузка…

Find all sequences of one or more consecutive whitespace characters in the text (including spaces, tabs, and newlines).

Загрузка редактора…
Показать подсказку

Используйте класс \\s с квантором + для захвата последовательных последовательностей пробелов.

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