Курс Raku / Регулярні вирази та граматики / Регулярні вирази / Альтернативи

Альтернатива

Розділіть дві чи більше альтернатив вертикальною рискою |. Шаблон збігається, якщо збігається будь-яка з них:

say 'no thanks' ~~ / yes | no /; # 「no」

Шаблон спробував yes і no; рядок містить no, тож саме це й збіглося.

Перелічити можна скільки завгодно альтернатив:

say 'the sky is blue' ~~ / red | green | blue /; # 「blue」

Альтернативами може бути будь-який підшаблон, а не лише літеральні слова: вони можуть містити класи символів, квантифікатори й захоплення. Щоб утримати альтернативу вкупі всередині більшого шаблону, згрупуйте її квадратними дужками [ ], які групують без захоплення:

say 'cathouse' ~~ / [ cat | dog ] house /; # 「cathouse」

Тут альтернатива cat | dog є однією одиницею, за якою має йти house.

Практика

Виконайте 1 тест за змістом цієї теми.

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

Альтернативи   |   Тест — Групування


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