MisterZhang
V2EX  ›  问与答

求一个正则表达式,可以筛选出网页里面的所有图片的 url

  •  
  •   MisterZhang · Jun 19, 2019 · 2157 views
    This topic created in 2546 days ago, the information mentioned may be changed or developed.

    iOS 项目里面 webView 加载网页,需要在网页 html 代码里面需要筛选出所有的图片地址,有这三种格式的 "http://xxx.jpg" "https://xxx.jpg" "//xxxx.jpg" 请问这个正则表达式应该怎么写呢。

    目前使用的正则是匹配 src 标签的

    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"src=[\"']?([^>'\"]+)(jpg|png|gif|jpeg)" options:NSRegularExpressionAllowCommentsAndWhitespace error:nil]
    

    但是这个正则没办法匹配出还没有显示在界面上的图片,因为懒加载,一开始 src 标签里面的图片地址都是一个默认图,只有显示在界面上的时候图片地址才会替换成真正的图片地址,但是真正的图片地址是在一个数组里面,有可能是"//xxxx.jpg"这种格式的,使用

     NSRegularExpression *regex2 = [NSRegularExpression regularExpressionWithPattern:@"( http[^\\s]+(jpg|jpeg|png|tiff)\\b)" options:NSRegularExpressionAllowCommentsAndWhitespace error:nil];
    

    这种只能匹配出带 scheme 的图片链接,"//xxxx.jpg"这种不带 scheme 的匹配不了

    1 replies    2019-06-21 17:15:41 +08:00
    MisterZhang
        1
    MisterZhang  
    OP
       Jun 21, 2019
    求别沉啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3252 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 11:42 · PVG 19:42 · LAX 04:42 · JFK 07:42
    ♥ Do have faith in what you're doing.