Более подробно эта тема рассматривается в курсе 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) |