Курс по Raku / Регулярни изрази и граматики / Регулярни изрази / Котви / Exercises / Цяла дума
Решение: Цяла дума
Ето едно възможно решение на задачата.
Код
say 'this is fine' ~~ /<< is >>/;🦋 Намерете програмата във файла whole-word.raku.
Изход
「is」Коментари
Котвите
<<и>>изискват граница на дума от всяка страна наis.Буквите
isстоят и вътре вthis, но там няма граница на дума отляво, така че машината прескача това появяване и вместо него съпоставя самостоятелната думаis.И двата кандидата отпечатват едно и също
「is」— как тогава да разберете кой всъщност е съвпаднал? Променетеis, скрито вътре вthis— например превърнете низа в'thus is fine'. Изходът пак е「is」, непроменен, което доказва, че това появяване никога не е било съвпадението. Сега променете самостоятелната дума (да речем'this it fine') и съвпадението изчезва (Nil). Можете и да попитате съвпадението къде започва:('this is fine' ~~ /<< is >>/).fromвръща5— позицията на самостоятелнотоis, а не2.
Навигация в курса
← Цяла дума | Твърдения за оглед →