Курс языка программирования Raku / Регулярные выражения и грамматики / Регулярные выражения / Якоря
Границы слов
Сопоставление cat срабатывает и внутри
category, потому что эти три буквы там действительно есть.
Часто это не то, чего вы хотите: вам нужно целое слово cat.
Эту задачу решает якорь границы слова.
<<совпадает у левого края слова (в начале слова)>>совпадает у правого края слова (в конце слова)
Заключите слово в эти якоря, чтобы оно сопоставлялось только как целое слово:
say 'the cat sat' ~~ /<< cat >>/; # 「cat」
say so 'category' ~~ /<< cat >>/; # FalseВ слове category сразу после cat границы
слова нет, поэтому привязанный шаблон не срабатывает — ровно то
поведение, которого мы добивались.
Граница слова находится между словесным символом (\w) и
несловесным, поэтому сама она ничего не поглощает; как ^ и
$, она лишь утверждает позицию.
Эти два якоря можно записать и символами угловых кавычек
« и », если они вам больше нравятся. Ведут они
себя в точности как << и >>:
say 'the cat sat' ~~ /« cat »/; # 「cat」
say so 'category' ~~ /« cat »/; # FalseПрактика
Пройдите 1 тест по содержанию этой темы.
Навигация по курсу
← Тест — Якоря строки | Тест — Якоря →
💪 Или перейдите сразу к упражнениям этого
раздела.