Задание по "Регулярным выражениям"

Открыто с: Четверг, 7 апреля 2022, 00:00
Срок сдачи: Четверг, 14 апреля 2022, 00:00

Домашнее задание к лекции «Регулярные выражения и основы синтаксического разбора»

Задание 1.

Напишите функцию, которая принимает на вход строку и проверяет является ли она валидным транспортным номером. Если да, то функция должна возвращать отдельно номер и регион.

Задание 2.

Постарайтесь написать (в крайнем случае найти) самый полный шаблон для проверки e-mail адресов через регулярное выражение, которая проверяет e-mail адрес на валидность. Можно руководствоваться следующими минимальными требованиями:

• адрес должен содержать специальный символ “@”, который отделяет имя пользователя почтовой системы от доменного имени;

• адрес не должен содержать следующие символы: “пробел”, “,”, “:”, “;”, “!”, “#”, “%”, “*”, “(”, “)”, “=”, “+”, “{”, “}”, " " ", " ’ ", " / ", " \ " и “|”;

• адрес должен состоять только из латинских символов;

• после символа “@” должна быть как минимум одна “.”;

• после последней точки должно быть не менее 2-х и не более 4-х символов, причем наличие цифр не допускается;

• между последней точкой и символом “@” должно быть не менее 2-х символов

• слева от “@” должно быть не менее четырех символов

**Задание 3. **

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

Задание 4.

Напишите функцию, которая будет проверять номер сотового телефона на валидность, если он валиден, то переводить его в формат:

+7(xxx)-xxx-xx-xx

Постарайтесь предусмотреть как можно больше адекватных форматов изначального ввода номера. Примеры валидных форматов:

• +7 955 555-55-55;

• 9555555555;

• 8(955)555-55-55;

• +7 955 555 55 55;

• 7(955) 555-55-55;

• +7 955+555+55+55.