Модульні уроки (2/4)
Основні класи: \d \w \s
Окрім літеральних символів, регулярні вирази надають вам попередньо визначені класи: ярлики для «будь-якої цифри», «будь-якого символу слова», «будь-якого пробілу». Вони перші крок до справді корисних моделей.
| Клас | Збіги |
|---|---|
\d | цифра (0-9) |
\w | словесний символ (A-Za-z0-9_) |
\s | Пробіл (пробіл, табуляція, новий рядок тощо) |
\D | НЕ цифра |
\W | НЕ символ слова |
\S | НЕ пробіл |
Кожен з них відповідає одному символу. Для відповідності "один або кілька символів"
вам потрібні квантифікатори (+, у модулі 2), але ми одразу використаємо +
тому що "знайти мені всі номери" занадто корисно чекати.
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).
Спробуйте
Витягніть із тексту кожну послідовність цифр (чисел). Використовуйте клас `\\d` із квантором `+`.
Показати підказку
\\d+ фіксує одну або більше цифр. З прапором g ви збираєте кожен сірник.
Рішення доступне після 3 спроб
Повторна вправа
Знайти кожне «слово» в тексті: безперервна послідовність символів слів (`\\w+`).
Показати підказку
\\w+ відповідає послідовності літер/цифр/підкреслення. Розділові знаки пропущено.
Рішення доступне після 3 спроб
Додатковий виклик
Find all sequences of one or more consecutive whitespace characters in the text (including spaces, tabs, and newlines).
Показати підказку
Використовуйте клас \\s із квантором + для захоплення послідовних пробілів.
Рішення доступне після 3 спроб