Курс по Raku / Регулярни изрази и граматики / Регулярни изрази / Котви
Начало и край на низа
Две котви отбелязват краищата на низа:
^съвпада в самото начало на низа$съвпада в самия край
Използвайте ^, за да изисквате съвпадението да започва
от началото:
say so 'http://example' ~~ /^ http /; # True
say so 'see http://x' ~~ /^ http /; # FalseВторият низ съдържа http, но не в началото, така че
закотвеният шаблон се проваля.
Слагането на ^ и $ около шаблон го
принуждава да съвпадне с целия низ, без нищо да остава
от която и да е страна:
say so 'hello' ~~ /^ hello $/; # True
say so 'hello world' ~~ /^ hello $/; # FalseТова е много често използван похват за проверка — например „точно число ли е този низ?“:
say so '2025' ~~ /^ \d+ $/; # True
say so '20a5' ~~ /^ \d+ $/; # FalseКотви за ред
Когато низът има няколко реда, партньорите ^^ и
$$ съвпадат в началото и края на всеки
ред, а не на целия низ. Разликата спрямо ^ и
$ изпъква веднага щом текстът, който търсите, не е на
първия ред: единичните котви виждат само целия низ и се провалят, докато
удвоените съвпадат на кой да е ред.
say so "cat\ndog" ~~ /^ dog $/; # False
say so "cat\ndog" ~~ /^^ dog $$/; # TrueТук \n започва втори ред. ^^ изисква
dog да стои в началото на ред, а $$ — в края
на ред; и двете важат на втория ред, така че удвоените котви успяват
там, където единичните не могат.
Практика
Направете 1 тест върху съдържанието на тази тема.
Навигация в курса
← Котви | Тест — Котви на низа →
💪 Или преминете направо към упражненията в този
раздел.