在Python中查找和替换文本模式

时间:2017-08-17 18:20:40

标签: python

我有一堆HTML文字,我希望找到标记为img的所有文字模式并更改其模板。如果初始文本是:

<img alt=src="http://www.example.com/image.png" />
输出中的

将变为:

[insert picture: []("http://www.example.com/image.png")]

我该如何处理?

2 个答案:

答案 0 :(得分:1)

您的示例看起来很简单,您可以执行以下操作:

In [140]: my_str = '<img alt=src="http://www.example.com/image.png" />'
In [141]: re.sub(r'\<img.*src\=\"(http\://.*\.png)\".*\/\>', '[insert picture: []("\\1")]', my_str)
Out[141]: '[insert picture: []("http://www.example.com/image.png")]'

答案 1 :(得分:0)

不要试图重新发明轮子。

使用urlextract模块

from urlextract import URLExtract

text="<img alt=src="http://www.example.com/image.png" />"
extractor = URLExtract()
urls = extractor.find_urls(text)
print(urls) # prints: ['www.example.com/image.png']