У меня есть текст с артефактами HTML, где теги <
и >
были удалены, поэтому теперь мне нужно что-то, что будет соответствовать маленькому p
, за которым следует заглавная буква, например
pThe next day they....
И мне также нужно что-то, что будет улавливать трейлинг /p
, что проще. Их нужно удалить, т.е. заменить на ""
в python.
Какой RE я бы использовал для этого? Спасибо! Стефан.
2 ответа
Попробуй это:
re.sub(r"(/?p)(?=[A-Z]|$)", r"<\1>", str)
Возможно, вы захотите расширить утверждение границы (здесь (?=[A-Z]|$)
) дополнительными символами, такими как пробелы.
У меня есть. Вы используете обратные ссылки,
import re
smallBig = re.compile(r'[a-z]([A-Z])')
...
cleanedString = smallBig.sub(r'\1', dirtyString)
Это удаляет строчную букву, но сохраняет заглавную букву в тех случаях, когда '<' и '>' тегов html были удалены, и вы сидите с таким текстом, как
PНекоторый текст нового абзаца /p
Быстро и грязно, но это работает в моем случае.
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.