Курс Raku / Регулярні вирази та граматики / Регулярні вирази / Альтернативи
Найдовший токен і перший збіг
Коли дві альтернативи могли б збігтися на одному й тому самому місці,
оператор | обирає ту, що зіставляється з
найдовшим шматком тексту. Це називають зіставленням
за найдовшим токеном:
say 'catdog' ~~ / cat | catdog /; # 「catdog」Хоча cat записано першим і воно збіглося б,
| віддає перевагу довшому catdog.
Іноді потрібне протилежне — пробувати альтернативи в тому порядку, в
якому ви їх записали, і брати першу, що збігається.
Саме це робить подвійна риска ||:
say 'catdog' ~~ / cat || catdog /; # 「cat」Тепер cat пробується першим і збігається, тож механізм
на цьому зупиняється й ніколи не розглядає catdog.
Використовуйте | (найдовший токен), коли хочете
«найкращий» збіг незалежно від порядку, — це звичний вибір, і саме на
нього спираються граматики. Використовуйте || (перший
збіг), коли порядок альтернатив має значення й ви хочете, щоб перемагали
ранніші.
Практика
Виконайте 1 тест за змістом цієї теми.
Навігація курсом
← Тест — Групування | Тест — Альтернативи →
💪 Або перейдіть одразу до вправ цього
розділу.