Курс Raku / Регулярні вирази та граматики / Регулярні вирази / Літерали та класи символів
Класи символів
Часто вам потрібно зіставитися не з одним сталим символом, а з
будь-яким символом із певного набору. Такий набір називають класом
символів і записують між <[ та
]>:
say 'grey' ~~ / gr <[ae]> y /; # 「grey」
say 'gray' ~~ / gr <[ae]> y /; # 「gray」Клас <[ae]> збігається з одним символом, який є
або a, або e, тож обидва написання кольору
збігаються.
Усередині дужок можна перелічити діапазон через дві крапки:
say 'a1b2' ~~ / <[0..9]> /; # 「1」<[0..9]> збігається з будь-якою однією цифрою;
першою цифрою в рядку є 1.
Щоб зіставитися з будь-яким символом, якого в наборі немає, поставте знак мінус одразу після відкривальної дужки:
say 'stop!' ~~ / <-[a..z]> /; # 「!」Тут <-[a..z]> збігається з першим символом, який
не є малою літерою, тобто зі знаком оклику.
В одному класі можна поєднати кілька частин. Наприклад,
<[a..z A..Z 0..9]> збігається з літерою або цифрою.
Пробіли там існують лише для читності — як і всюди в регексі, пробіли
всередині <[…]> ігноруються, тож
<[a..zA..Z0..9]> є точно тим самим класом.
Практика
Виконайте 1 тест за змістом цієї теми.
Навігація курсом
← Зіставлення літерального тексту | Тест — Власні класи →
💪 Або перейдіть одразу до вправ цього розділу.