gpt4 book ai didi

python - 如何在 re.compile python 中删除除 br 之外的所有标签?

转载 作者:行者123 更新时间:2023-11-30 22:44:15 26 4
gpt4 key购买 nike

我有一个代码如下,它删除所有标签:

import re

def cleanhtml(raw_html):
cleanr = re.compile('<.*?>')
cleantext = re.sub(cleanr, '', raw_html)
return cleantext

payload = '<a href="asdasda.htm">I am inside</a><br/><p>Tagsssss</p>'
print cleanhtml(payload)

如何忽略<br>标签并删除所有其他标签?此代码将所有行附加在一起。

最佳答案

使用负前瞻:

<(?!br).*?>

演示:https://regex101.com/r/91s8rW/1

def cleanhtml(raw_html):
cleanr = re.compile(r'<(?!br).*?>')
cleantext = cleanr.sub('', raw_html)
return cleantext

要检测多个 br 标签并替换为一个,您可以使用以下正则表达式:

re.sub(r'(<br>)+', r'\1', your_text)

演示:

In [7]: re.sub(r'(<br>)+', r'\1', 'foobar<br><br><br>barbaz')
Out[7]: 'foobar<br>barbaz'

关于python - 如何在 re.compile python 中删除除 br 之外的所有标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41569357/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com