Курс языка программирования Raku / Регулярные выражения и грамматики / Регулярные выражения / Квантификаторы
Звёздочка, плюс и вопросительный знак
Три знака покрывают самые частые случаи. Каждый из них относится к тому, что стоит прямо перед ним:
*— ноль или более раз+— один или более раз?— ноль или один раз (необязательно)
Знак плюса сопоставляет вереницу из одного или более символов:
say 'aaah' ~~ / a+ /; # 「aaa」Он взял столько букв a, сколько смог, — все три.
Звёздочка похожа на плюс, но срабатывает и тогда, когда сопоставлять нечего, потому что ноль повторений тоже допустим:
say 'colour' ~~ / colou*r /; # 「colour」
say 'color' ~~ / colou*r /; # 「color」Вопросительный знак делает кусочек необязательным — он совпадает и когда этот кусочек есть, и когда его нет:
say 'colour' ~~ / colou?r /; # 「colour」
say 'color' ~~ / colou?r /; # 「color」Квантификаторы относятся к тому, что стоит непосредственно перед
ними, в том числе к классу символов. Например, \d+
соответствует веренице из одной или более цифр — то есть целому
числу:
say 'order 66' ~~ / \d+ /; # 「66」Практика
Пройдите 1 тест по содержанию этой темы.
Навигация по курсу
← Квантификаторы | Тест — Основные квантификаторы →
💪 Или перейдите сразу к упражнениям этого
раздела.