Вы можете захватить <br>
теги отдельно в group1 и захватить любой другой тег отдельно и заменить все совпадение на \1
, чтобы сохранить <br>
теги и удалить остальные остальные теги. Заменить
(?i)(<br\/?>)|<[^>]*>
с \1
. Также добавлен (?i)
встроенный модификатор (вы также можете передать re.IGNORECASE
в качестве четвертого аргумента в re.sub
, чтобы сделать его нечувствительным к регистру), чтобы сделать регулярное выражение нечувствительным к регистру для совпадения его с <BR>
или <BR/>
Regex Demo
Ваш обновленный код Python,
import re
MyString = 'aaa<p>Radio and television.<br></p><p>very<br/> popular <BR>in the <BR/>world today.</p><p>Millions of people watch TV. </p><p>That’s because a radio is very small <span_style=":_black;">98.2%</span></p><p>and it‘s easy to carry. <span_style=":_black;">haha100%</span></p>bb'
MyString = re.sub('(?i)(<br/?>)|<[^>]*>', r'\1', MyString)
print(MyString)
Печать строки с использованием только тега br
и удалением остальных тегов,
aaaRadio and television.<br>very<br/> popular <BR>in the <BR/>world today.Millions of people watch TV. That’s because a radio is very small 98.2%and it‘s easy to carry. haha100%bb
В другом подходе вы также можете использовать отрицательный взгляд вперед, чтобы отклонить теги, которые br
используют это регулярное выражение,
(?i)<(?!br/?>)[^>]*>
и просто замените его пустой строкой.
Демонстрация регулярного выражения с использованием отрицательного взгляда на отклонение
код Python с использованием отрицательного регулярного выражения,
import re
MyString = 'aaa<p>Radio and television.<br></p><p>very<br/> popular <BR>in the <BR/>world today.</p><p>Millions of people watch TV. </p><p>That’s because a radio is very small <span_style=":_black;">98.2%</span></p><p>and it‘s easy to carry. <span_style=":_black;">haha100%</span></p>bb'
MyString = re.sub('(?i)<(?!br/?>)[^>]*>', r'', MyString)
print(MyString)
печать
aaaRadio and television.<br>very<br/> popular <BR>in the <BR/>world today.Millions of people watch TV. That’s because a radio is very small 98.2%and it‘s easy to carry. haha100%bb