Перейти до основного вмісту
Модуль 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, цифри, підкреслення). Це НЕ включає наголоси, грецькі літери чи емодзі: для них потрібен Unicode екранування властивостей (\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 спроб