Регулярное выражение для соответствия закрывающим 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 .

  • Как удалить фигурные скобки, апострофы и квадратные скобки из словарей в кадре данных Pandas (Python)
  • Как я re.search или re.match для целого файла, не читая все это в памяти?
  • Pandas MultiIndex из регулярного выражения на столбце
  • Разбор PDF-файла с использованием регулярных выражений в Python
  • Могу ли я использовать именованные группы в регулярном выражении Perl для получения результатов в хеше?
  • Как обнаружить и отремонтировать поврежденный раздел CDATA в файле XML?
  • Список всех шаблонов, которые соответствует регулярному выражению
  • Замена текста с использованием регулярного выражения в Python с именованными параметрами
  • удаление начального и конечного зазора в ключевом значении в документах JSON
  • Повторное выражение Python заменяет значение ASCII
  • Почему конечное повторение в lookbehind не работает в некоторых вариантах?
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.