Курс по Raku / Регулярни изрази и граматики / Регулярни изрази / Твърдения за оглед
Оглед напред
Погледът напред проверява какво идва непосредствено след текущата позиция. Записва се в ъглови скоби:
<?before …>— успява, ако текстът напред съвпада (положителен поглед напред)<!before …>— успява, ако текстът напред не съвпада (отрицателен поглед напред)
Самото твърдение не съпоставя нито един знак; то само проверява
позицията. Например съпоставете число само когато след него следва
думата dollars:
say '100 dollars' ~~ / \d+ <?before ' dollars'> /; # 「100」Съвпадението е само 100 — текстът dollars е
проверен, но не е включен.
Понеже погледът напред само твърди какво следва, едно и също число съвпада или не в зависимост от валутата след него:
say so '100 euro' ~~ / \d+ <?before ' euro'> /; # True
say so '100 dollars' ~~ / \d+ <?before ' euro'> /; # FalseЦифрите в двата низа са еднакви, но твърдението приема
100 само когато след него идва euro.
Отрицателната форма е полезна за „… но не когато след него следва …“.
Съпоставете cat само когато след него не
следва цифра:
say so 'cats' ~~ / cat <!before \d> /; # True
say so 'cat5' ~~ / cat <!before \d> /; # FalseВ cat5 погледът напред вижда цифра веднага след
cat, така че отрицателното твърдение се проваля и цялото
съвпадение се проваля.
Практика
Направете 1 тест върху съдържанието на тази тема.
Навигация в курса
← Твърдения за оглед | Тест — Оглед напред →
💪 Или преминете направо към упражненията в този
раздел.