Регулярное выражение для артефактов HTML - PullRequest
0 голосов
/ 13 октября 2009

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

pThe next day they....

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

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

Ответы [ 2 ]

1 голос
/ 13 октября 2009

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

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

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

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

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

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

1 голос
/ 13 октября 2009

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...