Регулярное выражение для артефактов HTML

У меня есть текст с артефактами HTML, в которых пропущены теги <and >, так что теперь мне нужно что-то, что будет соответствовать маленькой pбукве с большой буквы, например

pThe next day they....

И мне также нужно что-то, что поймает отставание, /pчто легче. Они должны быть удалены, то есть заменены ""на Python.

Какой RE я бы использовал для этого? Спасибо! Стефан.

13.10.2009 10:26:13
2 ОТВЕТА

Попробуй это:

re.sub(r"(/?p)(?=[A-Z]|$)", r"<\1>", str)

Возможно, вы захотите расширить утверждение границы (здесь (?=[A-Z]|$)) с помощью дополнительных символов, таких как пробел.

1
13.10.2009 10:35:09

Я получил это. Вы используете обратные ссылки,

import re
smallBig = re.compile(r'[a-z]([A-Z])')

...
cleanedString = smallBig.sub(r'\1', dirtyString)

Это удаляет маленькую букву, но сохраняет заглавную букву в случаях, когда «<» и «>» html-тегов были удалены, и вы сидите с текстом, как

pНовый текст нового абзаца / p

Быстро и грязно, но это работает в моем случае.

1
13.10.2009 10:38:16