Задача #3093
Работа со строками
Текстовый файл состоит из заглавных букв А, В, С, строчных букв а, b, c, знака препинания «.» и знаков пробелов. Определите максимальное количество символов в непрерывной последовательности, которая является корректно записанным предложением. Считаем, что в корректно записанном предложении выполнены все следующие условия:
- предложение начинается с заглавной буквы;
- предложение оканчивается точкой, которая в предложении единственная и перед которой нет пробела;
- слова в предложении состоят из произвольных комбинаций букв, возможно не имеют семантического смысла, но при этом только первая буква слова может быть заглавной;
- слова в предложении разделены пробелами, два пробела стоять рядом в предложении не могут.
В ответе укажите количество символов.
Решение
Ответ
from re import *
s = open('24.txt').readline()
word = r'([ABCabc][abc]*)'
pred = rf'[ABC][abc]*( {word})*\.'
m = [x.group() for x in finditer(pred,s)]
m.sort(key=len, reverse=1)
print(len(m[0]), m[0])