Регулярное выражение для соответствия закрывающим HTML-тегам

Я работаю над небольшим сценарием Python для очистки HTML-документов. Он работает, принимая список тегов для KEEP, а затем анализирует теги HTML-кода, которые не входят в список, который я использовал для регулярных выражений, и я смог сопоставить открывающие теги и самозакрывающиеся теги но не закрывая теги. Шаблон, который я экспериментировал с совпадающими закрывающими тегами, – </(?!a)> . Мне это кажется логичным, так почему не работает? (?!a) A (?!a) должен совпадать с чем-либо, что НЕ является привязным тегом (а не то, что «a» может быть чем угодно – это просто пример).

Изменить: AGG! Я думаю, регулярное выражение не показывалось!

3 Solutions collect form web for “Регулярное выражение для соответствия закрывающим HTML-тегам”

  1. Читать:

    • RegEx соответствуют открытым тегам, за исключением тегов XHTML
    • Можете ли вы привести несколько примеров того, почему трудно анализировать XML и HTML с помощью регулярного выражения?
  2. Покайтесь.

  3. Используйте настоящий синтаксический анализатор HTML, например BeautifulSoup .

 <TAG\b[^>]*>(.*?)</TAG> 

Соответствует парам открытия и закрытия определенного тега HTML.

 <([AZ][A-Z0-9]*)\b[^>]*>(.*?)</\1> 

Будет соответствовать парам открытия и закрытия любого HTML-тега.

См. Здесь .

Не используйте регулярное выражение для анализа HTML . Это только даст вам головные боли.

Вместо этого используйте синтаксический анализатор XML. Попробуйте BeautifulSoup или lxml .

  • Python regex - r префикс
  • Поддерживает ли метод BeautifulSoup .select () использование регулярного выражения?
  • Как я могу получить часть регулярного выражения как переменную в python?
  • Использование BeautifulSoup для поиска тега HTML, который содержит определенный текст
  • Python re.sub с флагом не заменяет все вхождения
  • python reg ex включить отсутствующие запятые
  • Параметрирование параметров сообщения, полученных GSM-модемом в python
  • Шаблон URL-адреса Django для целых чисел
  • Python - лучший язык программирования в мире.