Курс по 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 тест върху съдържанието на тази тема.

Навигация в курса

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


💪 Или преминете направо към упражненията в този раздел.