我有一个HTML文件,我使用lxml和BeautifulSoup(从HTML转换为文本)处理。不知何故,下面的格式不正确的HTML将其放入文本中,我想将其删除。我尝试在文本字符串中匹配诸如“<。+>”之类的内容,但它不起作用。我想删除的字符串是这样的:Python的正则表达式不能在字符串上工作
string = """ .trb_m_b:befoe{ctent:'Hide comments'}.trb_c_so{padding-top:10px;min-height:500px}||<div class="trb_c_so" data-role=c_container><div class="s_comments" data-sitename="ffff" data-content-id="jksjkj7878787" data-type=promo-comment data-publisher="ronctt"></div></div>"""
我想它的确切代码:
pattern = re.compile(r'<.+>')
if (pattern.search(string)):
print ("Found")
然而,正则表达式不匹配字符串,但它应该。
为什么会这样?
谢谢。
编辑。看起来问题不是正则表达式,而是一些非常奇怪的东西。我在列表中有这个字符串,它是最后一个项目。当我第一次循环播放它时,出于某种原因,程序从未击中它。但是,它第二次。我不明白它的原因。
EDIT2。事实证明,问题是我试图删除循环中的元素(如果他们匹配正则表达式),这是不允许的。我重写了代码以使用列表理解,现在它工作正常。
美丽的汤将关闭任何未公开的标签... –
我不想关闭标签,只是想删除有问题的文本。 –