Курс по 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 тест върху съдържанието на тази тема.

Навигация в курса

Тест — Котви на низа   |   Тест — Котви


💪 Или преминете направо към упражненията в този раздел.