在python中,我有一个包含如下字符串项的列表:
My website is <a href="WEBSITE1" target='_blank'><u>WEBSITE1</u></a>
The link is <a href="LINK1" target='_blank'><u>LINK1</u></a>
...
我要做的是替换(在每个列表项中)href语法,只留下链接作为文本,这样我的列表将如下所示:
^{pr2}$我在考虑匹配和替换此正则表达式:
<a href="(.*?)" target='_blank'><u>(.*?)</u></a>
有:
(.*?)
但它不起作用。这似乎很复杂。有没有什么简单的方法可以将一个列表对象与已清理的项目作为输出?在
您也可以使用HTML解析器处理字符串,例如^{} ,它的
replace_with()
-查找字符串中的所有a
元素并用链接文本替换它们:或者,正如@user3100115在评论中指出的,只需获取“soup”对象的文本也可以处理示例数据:
^{pr2}$如果我必须使用正则表达式,我会使用类似
然后替换为列表理解
^{pr2}$但是考虑使用
beautifulsoup
或其他html解析器,正如其他答案中所指出的那样,这将为您提供一个更通用的解决方案正则表达式解释
<a href.*?>
匹配a href
标记,非贪心,直到第一个右括号<u>
匹配u标记(.*?)
匹配要保留的字符串<\/u><\/a>
匹配结束标记这个正则表达式似乎有效
Regex Demo
Python代码
^{pr2}$Ideone Demo
相关问题 更多 >
编程相关推荐