Курс Raku / Регулярні вирази та граматики / Регулярні вирази / Твердження перегляду / Вправи / За чим не йде
Розв’язання: За чим не йде
Ось одне з можливих розв’язань задачі.
Код
say so '50 dollars' ~~ / \d+ >> <!before '%'> /;🦋 Знайдіть програму у файлі not-followed.raku.
Вивід
TrueКоментарі
<!before '%'>— це заперечний огляд уперед: він успішний лише тоді, коли текст одразу після числа не є%.>>— це межа слова, що позначає кінець числа, і тут вона важлива. Без неї жадібний\d+відкотився б: на50% offвін віддав би0і зіставився б лише з5— за яким%не йде, — тож шаблон помилково спрацював би.>>змушує\d+узяти все число, тож огляд уперед перевіряється у справжньому кінці. У результаті50 dollarsдаєTrue, а50% offправильно даєFalse.
Навігація курсом
← За чим не йде | Між дужками →