Более подробно эта тема рассматривается в курсе Python Fundamentals
Бывают ситуации, когда нам надо не просто найти совпадение символов в тексте, но также быть уверенными в том, что эта найденная комбинация символов выполняет определённые условия относительно другой части текста. Например, при валидации пароля, важно не просто получить совпадение символов пароля My_Pa$$worD, но также быть уверенными в том, что пароль полностью занимает всю строку от начала и до конца.
Например, все эти три строки содержат комбинацию символов, удовлетворяющих паттерну My_Pa$$worD:
My_Pa$$worD___
My_Pa$$worD
aaa_asdf_ My_Pa$$worDllfff
Однако единственно правильным вариантом будет только пароль во второй строке.
Для выполнение этого условия в начало и конец паттерна пароля добавить символы (якоря) начала ^ и конца строки $: ^My_Pa\$\$worD$
Таблица анкоров: <\p>
| Symbols | Their meaning: |
|---|---|
| ^ | Start of line |
| $ | End of line |
| \b | Boundary of word (start or end of word) |
| \B | Inverse of \b (non-start or non-end of word) |