Как использовать регулярные выражения для поиска многоточия?
#Имеем текст
text = '''Шла Саша, значит, по шоссе и сосала... сушку!'''
#Имеем функцию, которая возвращает подстроку из строки,
#Принимающая след.значения: текст[text]; номер первого элемента
#подстроки[start]; Длину подстроки[size].
#Вне зависимости от размера size подстрока не должна обрываться.
#Она должна обязательно оканчиваться на знак препинания. Любой.
#То есть многоточие не должно обрываться, а должно полностью войти в подстроку.
#Либо поиск [i-1] знака препинания должен "шагать" дальше,
#пока "не упрется" в запятую.
def func(text: str, start: int, size: int) -> tuple(str, int):
result = re.findall([регулярное выражение для поиска], text)
print(result)
symbols = ('.', ',', ':', ';', '!', '?')
end = min(start + size, len(text))
for i in range(end, start, -1):
if text[i-1] in symbols or text[i-1] == result:
page = text[start:i].rstrip()
return page, len(page)
#Вывод подстроки и её длинны.
print(func(text, 0, 37), sep='\n')
Прошу помочь!)))
Источник: Stack Overflow на русском