Python. Регулярные выражения. Открыть файл и убрать все предложения по маске

Есть файл с название "text.html"

нужно удалить все что начинаться от </a><br><p> и до /enddd <br>. Повторять удаление, пока элементы есть. Текст между этими флагами может быть разный. И перезаписать исправленный текст обратно в файл.

Примеры:

...</a><br><p>//upload.wikimedia.org/wikipedia/commons/thumb/8/8 4/Michael Jordan Dep Of Defense/enddd <br>...
....jpg</a><br><p>//upload.wikimedia.org/wikipedia/commons/thumb/0/0d/MJ golf course/enddd <br>MJ golf ...

Ответы (2 шт):

Автор решения: RockInMyHead

Ну например так:

a = #Сюда перенаправить элементы
a1 = a.replace("</a><br><p>","")
a2 = a1.replace("/enddd <br>","")
print (a2)

Думаю можно и проще, но додумался только до этого.

→ Ссылка
Автор решения: nomnoms12

Регулярное выражение: </a><br><p>.+/enddd <br>.

Пример:

import re


with open('text.html', 'r+') as f:
    lines = f.readlines()
    for i in range(len(lines)):
        lines[i] = re.sub(r'</a><br><p>.+/enddd <br>', '', lines[i])

    f.seek(0)
    f.truncate()
    f.write(''.join(lines))

UPD: Для нежадного поиска замените регулярное выражение на </a><br><p>.+?/enddd <br>.

→ Ссылка