正则表达式:如何解析图像,而不仅仅是<img/>标签

时间:2015-07-30 08:53:05

标签: regex image

在过去一整周里,我一直在寻找一个可以解析html源文件中所有图像的正则表达式。我知道有很多,但主要是他们解析标签。棘手的部分有时是图像是javascript,有时他们有奇怪的长格式,如:

http://pinterest.com/pin/create/button/?url=http://www.designscene.net/2015/07/binx-walton-josephine-le-tutour-vera-wang.html&amp;media=http://www.designscene.net/wp-content/uploads/2015/07/Vera-Wang-Fall-Winter-2015-Patrick-Demarchelier-03-620x806.jpg&amp;description=Binx Walton and Josephine Le Tutour for Vera Wang FW15

我尝试过负面观察和布尔,但找不到一个好的解决方案。请给我一个观点。

3 个答案:

答案 0 :(得分:1)

正如你所说的有很多方法可以做到这一点,说实话,没有一个正则表达式的解决方案可以解析那里的所有html文件..我也曾尝试过它。对我来说,下面的效果最好:

/(?:.(?!http|\,))+(\.jpg|\.png)

一点解释:

/ ......(。jpg | .png)从它找到的第一个斜杠开始,直到找到图像ext 。斜杠和分机之间的任何字符 (?:。(?!http | \,))+省略如果有http或,在其中(就像你给出的示例链接的魅力一样

希望它有所帮助,正则表达式是一个非常复杂的世界。你可以用很多不同的方式编写相同的exp。可能有一个更好的解决方案然后我建议。

答案 1 :(得分:0)

这会有帮助吗? https://regex101.com/r/jP4tV7/4

(http[^&"']+(?:jpg|gif|jpeg|png))(?:\&|'|")

答案 2 :(得分:0)

您应该能够搜索以图片扩展名结尾的任何网址。这个快速而肮脏的表达应该这样做

func application(application: UIApplication!, didReceiveLocalNotification notification: UILocalNotification!) {
        // do your jobs here
}

可在:http://regexr.com/3bg8o

获取