ios 正则获取img 里的 src

来源:互联网 发布:usb无线网卡linux驱动 编辑:程序博客网 时间:2024/05/22 19:31

ios 正则获取img 里的 src


一:提取网页img的正则:<\\s*img\\s+[^>]*?src\\s*=\\s*[\'\"](.*?)[\'\"]\\s*(alt=[\'\"](.*?)[\'\"])?[^>]*?\\/?\\s*>      
(注:这个正则只适合于ios,不适合其它,因为其它方式可能对于ios ,语法有问题)

二:上图:

三:代码

NSData *data = [NSDatadataWithContentsOfURL:[NSURLURLWithString:@"http://wiki.mbalib.com/wiki/2015%E5%B9%B4%E3%80%8A%E7%A6%8F%E5%B8%83%E6%96%AF%E3%80%8B%E4%B8%AD%E5%9B%BD%E6%85%88%E5%96%84%E6%A6%9C"]];

    NSString *htmlString = [[NSStringalloc] initWithData:data encoding:NSUTF8StringEncoding];

    

    NSString *regulaStr =@"<\\s*img\\s+[^>]*?src\\s*=\\s*[\'\"](.*?)[\'\"]\\s*(alt=[\'\"](.*?)[\'\"])?[^>]*?\\/?\\s*>";

    

//    NSString *regulaStr = @"<\\s*img\\s+";

    NSRegularExpression *regex = [NSRegularExpressionregularExpressionWithPattern:regulaStr

                                                                          options:NSRegularExpressionCaseInsensitive

                                                                            error:nil];

    NSArray *arrayOfAllMatches = [regex matchesInString:htmlString options:0range:NSMakeRange(0, [htmlStringlength])];

    

    for (NSTextCheckingResult *matchin arrayOfAllMatches)

    {

        

        NSRange range = match.range;

        range.location = 1;

        NSString* substringForMatch = [htmlStringsubstringWithRange:match.range];

        NSLog(@"=== substringForMatch %@", substringForMatch);

        

        // 提取 src =

        NSString* group1 = [htmlString substringWithRange:[match rangeAtIndex:1]];

        

    }

0 0
原创粉丝点击