Я пытаюсь использовать re.sub (), чтобы изменить все HTML-теги <
и >
на {
и }
. Вот подвох: я хочу изменить только совпадения между <table
и </table>
.
Я не могу на всю жизнь найти учебник по регулярному выражению или пост, в котором можно изменять каждое совпадение регулярного выражения, но только между двумя другими совпадениями регулярного выражения. Я смотрел на положительные / отрицательные уроки по заглядыванию вперед и назад, но не повезло. Прошло добрых несколько часов поиска, прежде чем отправлять сообщения.
Вот лучшее, что у меня есть:
(?<=<table)(?:.*?)(<)(?:.*)(?=<\/table>)
Это будет соответствовать одному «<» между тегами начала и конца таблицы, но я не знаю, как сделать так, чтобы оно совпадало с несколькими. Я играл с ленивыми или не ленивыми группами с любым персонажем и т. Д., Но не повезло. </p>
Смысл всего этого в том, что у меня есть строка с большим количеством HTML, и я хочу сохранить все теги HTML внутри таблиц, а также сами таблицы.
Мой текущий план состоит в том, чтобы изменить все теги в таблицах (и сами теги таблицы) на {или}, затем удалить все теги HTML <и> во всем документе, а затем изменить все {и} обратно на < и>. Это должно сохранить таблицы (и любые другие теги внутри).
Пример ввода:
<font style = "font-family:inherit>
<any other HTML tags>
random text
<table cellpadding="0" cellspacing="0" style="font-family:times new
roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;">
<tr>
<td colspan="3">
<font style="font-family:inherit;font-size:12pt;font-
weight:bold;">washington, d.c. 20549</font>
random text
<any other HTML tags within table tags>
</td>
</table>
random text
<font style = "font-family:inherit>
Пример вывода:
<font style = "font-family:inherit>
<any other HTML tags>
random text
{table cellpadding="0" cellspacing="0" style="font-family:times new
roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"}
{tr}
{td colspan="3"}
{font style="font-family:inherit;font-size:12pt;font-
weight:bold;"}washington, d.c. 20549{/font}
random text
{any other HTML tags within table tags}
{/td}
{/table}
random text
<font style = "font-family:inherit>
Спасибо,
Грог