代码:
text2=re.findall('http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*(),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', text)
输出:
['https://m.facebook.com/people/Vick-Arcadia/100009629167118/', 'https://m.facebook.com<span', 'https://m.facebook.com<span',
一般来说,正则表达式的功能不足以处理树形结构的HTML,并且具有匹配的开头和结尾。
首选的技术是使用为HTML设计的解析器。在Python世界中,lxml和BeautifulSoup是流行的选择。
此正则表达式应该能更好地进行
'https?://[w.]+(/[/w-]+)?'
对于regex,我建议在https://regex101.com/
但在对html的操作中,最好使用BeautifulSoup库,如果你添加更多细节,我可以帮助你。