( kantal | 2018. 10. 15., h – 19:19 )

Python3-ban:


import re

with open("book") as fin, open("book.out","w") as fo:
    fo.write( re.sub(r"[p]\s*(?!–)([^<>]+?)[/p]", r"\1", fin.read()) )

Értelemszerűen a kisebb-nagyobb jeleket cseréld le. Egyébként, ahogy átmásoltam a szövegedet a próbához, kétféle kötőjelszerű karaktert kaptam, de lehet, hogy valamit elrontottam a tesztnél.
Ha nem, akkor a (?!-) helyett ilyesmi kell (?![-—])
--
eutlantis