在NSString中search以特定文本开头并以“

我有一个NSString包含一个网页的HTML代码。 现在,我如何search整个string的所有单词,以“data-src =”http://“开始,并以”?“结尾。 我将把它们保存在一个数组中。 我的string被称为urlPage

PS:我不想让单词有“data-src =”http://“和”。 我只想要这两个字之间的话

以下是一些示例代码:

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]); } 

NSLog输出:
匹配:'test1'
匹配:'test2'

你最好的select是使用NSRegularExpressionsearchstring。 尤其是enumerateMatchesInString:options:range:usingBlock:方法。 在这种方法中,你会得到适合你的正则expression式的结果,你可以手动去除开始部分和问号,如果你想。