我正在尝试构造一个正则表达式,它可以从一个字符串中找到所有的图片网址。图片网址可以是绝对路径,也可以是相对路径。
所有这些都应是有效匹配项:
../example/test.png
https://www.test.com/abc.jpg
images/test.webp
例如:如果我们定义
inputString="img src=https://www.test.com/abc.jpg background:../example/test.png <div> images/test.webp image.pnghello"
那么我们应该找到这3个匹配项:
https://www.test.com/abc.jpg
../example/test.png
images/test.webp
我目前正在做这个(我使用Python),它只找到绝对路径,只找到一些图像,有时也有不好的匹配(找到一个字符串,其中有一个图像的网址,但添加了很多东西,这是在图像的网址)
imageurls = re.findall(r'(?:"|\')((?:https?://|/)\S+\.(?:jpg|png|gif|jpeg|webp))(?:"|\')', inputString)
2条答案
按热度按时间dced5bon1#
您可以尝试:
Regex demo.
图纸:
wj8zmpe12#
你觉得怎么样:
其中:
给出:
这可能需要更多的测试样本:)