Блог

Регулярные Выражения. Anchors (Якоря)

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

  • ^ - символ caret, означает начало строки ;
  • $ - символ конца строки ;
  • \b - символ границы слова (начало или конец слова) ;
  • \B - символ инверсии границы слова (только НЕ начало или НЕ конец слова) .

<<< Назад к началу статьи "Регулярные Выражения. Предисловие"