Busque en un NSString palabras que comiencen con un text específico y termine con un "

Tengo un NSString que contiene el código html de una página web. Ahora, ¿cómo busco en la cadena entera todas las palabras que comienzan con 'data-src = "http: //' y terminan con un"? Los saveé en una matriz. Mi cadena se llama urlPage

PS: no quiero que las palabras tengan el 'data-src =' http: // 'y ". Solo quiero las palabras entre estos 2

Aquí hay un código de ejemplo:

NSString *string; NSString *pattern; NSRegularExpression *regex; string = @" aa data-src=\"http://test1\" cd data-src=\"http://test2\" cd"; pattern = @"data-src=\"http://([^\"]+)\""; regex = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:nil]; NSArray *matches = [regex matchesInString:string options:0 range:NSMakeRange(0, [string length])]; for (NSTextCheckingResult *match in matches) { NSRange range = [match rangeAtIndex:1]; NSLog(@"match: '%@'", [string substringWithRange:range]); } 

Salida NSLog:
coincidencia: 'test1'
coincidencia: 'test2'

Su mejor opción es utilizar NSRegularExpression para search una cadena. Especialmente el enumerateMatchesInString:options:range:usingBlock: method. En este método obtendrá el resultado que se ajuste a su expresión regular y puede eliminar manualmente la parte inicial y el signo de interrogación si lo desea.