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
MisterZhang OP 求别沉啊
|