Курс 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 тест за змістом цієї теми.

Навігація курсом

Квантифікатори   |   Тест — Основні квантифікатори


💪 Або перейдіть одразу до вправ цього розділу.