Найти в Дзене
А/Б

Python. Проверка строки по шаблону с помощью регулярных выражений re.fullmatch(pat, str)

Оглавление

Добрый день, уважаемый читатель. В данной статье мне бы хотелось рассмотреть один из вариантов проверки строки с помощью регулярных выражений.

Регулярными выражениями в Python называются шаблоны, которые используются для поиска соответствующего фрагмента текста и сопоставления символов.

Для работы с регулярными выражениями воспользуемся модулем "re" и методом .fullmatch(pat, str) проверяем, подходит ли строка str под шаблон pat;

import re

re.fullmatch(pat, str)

В первом примере будем проверять строку на соответствие следующим наборам условий:

  • длина строки 5 символов
  • содержит только латинские буквы и цифры

Примеры проверки строк:

Примеры проверки строк
Примеры проверки строк

Шаблон pat будет иметь следующий вид

pat = '^[a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9]$'

Символ ^ означает начало последовательности

Символ $ означает окончание последовательности

Шаблон [a-zA-Z0-9] повторяется 5 раз, в соответствии с длиной правильной строки. Каждый шаблон в квадратных скобках означает, что символ может быть латинской буквой, где регистр не имеет значение или же цифрой.

Можно укоротить шаблон до

pat = '^[a-zA-Z0-9]{5}$'

{5} указывает число повторений символа

Код проверки строки
Код проверки строки

Второй пример будет проверкой строки на соответствие номера мобильного телефона:

  • Начинаться на 7 или 8
  • Длина 11 символов
  • Все символы цифры
Пример проверки номера на соответствие
Пример проверки номера на соответствие

Шаблон pat будет иметь следующий вид

pat = '^[7, 8]{1}[0-9]{10}$'

Код проверки номера телефона
Код проверки номера телефона

Благодаря тому, что мы шаблон pat вынесли в отдельную переменную, сам код программы сильно не изменился.

Ссылка на первый и второй пример на Яндекс.Диск


Спасибо за потраченное время на изучение статьи. Надеюсь, что Вы смогли найти для себя полезную информацию. С уважением, Анатолий.

Наука
7 млн интересуются