如何解析文本并查找带字符串的所有超链接实例?超链接不是<a href="http://test.com">test</a>
的html格式,而只是http://test.com
其次,我想转换原始字符串并将所有超链接实例替换为可点击的html超链接。
我在这个帖子中找到了一个例子:
Easiest way to convert a URL to a hyperlink in a C# string?
但无法在python中重现它:(
答案 0 :(得分:22)
这是一个Easiest way to convert a URL to a hyperlink in a C# string?的Python端口:
import re
myString = "This is my tweet check it out http://tinyurl.com/blah"
r = re.compile(r"(http://[^ ]+)")
print r.sub(r'<a href="\1">\1</a>', myString)
输出:
This is my tweet check it out <a href="http://tinyurl.com/blah">http://tinyurl.com/blah</a>
答案 1 :(得分:9)
Here是一个比2002年更复杂的正则表达式。
答案 2 :(得分:5)
Django还有一个不只是使用正则表达式的解决方案。它是django.utils.html.urlize()。我发现这非常有用,特别是如果你碰巧使用django。
您还可以提取要在自己的项目中使用的code。
答案 3 :(得分:1)
Jinja2(Flask使用它)有一个过滤器urlize
也可以。