(И. Карпачев) Текстовый файл состоит не более чем из \(10^6\) символов и содержит только десятичные цифры, заглавные и прописные букв латинского алфавита, а также символы «@» и «.» (точка). Определите максимальное количество символов в непрерывной последовательности, которая является корректным почтовым адресом. Корректным почтовым адресом назовем адрес, в котором сначала указывается имя почтового ящика, затем следует символ «@», далее – сервер, на котором находится почтовый ящик. В данной задаче будем считать, что:
В ответе укажите количество символов. Например, для строки alex@@s..ch@gmail.com.runet@yandex.rubo@yandex.ru ответом будет число 25 – длина выделенной части, которая является правильным адресом.
Решение:
Python
from re import finditer
s = open('8060.txt').readline().strip()
#s = 'alex@@s..ch@gmail.com.runet@yandex.rubo@yandex.ru'
ml = 0
for email in finditer(rf'(?=(([0-9a-zA-Z]+\.)*[0-9a-zA-Z]+@(gmail\.com|yandex\.ru)))', s):
ml = max(ml, len(email.group(1)))
print(ml)
Ответ: \(118\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене