Курс по Raku / Регулярни изрази и граматики / Регулярни изрази / Алтернативи
Най-дълъг токен и първо съвпадение
Когато две възможности биха могли да съвпаднат на едно и също място,
операторът | избира онази, която съпоставя
най-дългото парче текст. Това се нарича съпоставяне
по най-дълъг токен:
say 'catdog' ~~ / cat | catdog /; # 「catdog」Макар cat да е написано първо и да би съвпаднало,
| предпочита по-дългото catdog.
Понякога искате обратното — да опитате възможностите в реда, в който
сте ги написали, и да вземете първата, която съвпадне.
Точно това прави двойната черта ||:
say 'catdog' ~~ / cat || catdog /; # 「cat」Сега cat се опитва първо и съвпада, така че машината
спира дотам и никога не разглежда catdog.
Използвайте | (най-дълъг токен), когато искате
„най-доброто“ съвпадение независимо от реда — това е обичайният избор и
онзи, на който разчитат граматиките. Използвайте || (първо
съвпадение), когато редът на възможностите е смислен и искате по-ранните
да печелят.
Практика
Направете 1 тест върху съдържанието на тази тема.
Навигация в курса
← Тест — Групиране | Тест — Алтернативи →
💪 Или преминете направо към упражненията в този
раздел.