在RegexKitLite中匹配几次

时间:2010-08-11 16:21:06

标签: objective-c regex regexkitlite

我正试图从文档中获取一些信息。我正在尝试将我需要的信息与正则表达式匹配,正则表达式匹配字符串中的3个数字。它工作正常,但它只匹配第一次出现。我需要它无限次匹配,因为我不知道这个字符串会发生多少次。

NSString *regex = @"String containing data:(\\d+) and more data:(\\d+) and so on";
NSArray *captures = [document captureComponentsMatchedByRegex:regex];
for(NSString *match in captures){
    NSLog(@"%@",match);
}

上面的代码打印出3个字符串 - 整个字符串,第一个数据和第二个数据。一切都很好,但现在我需要它来继续搜索文档,因为类似的字符串会出现n次。

我该怎么做?有没有办法将匹配分组为每个字符串或类似的数组?

1 个答案:

答案 0 :(得分:2)

使用arrayOfCaptureComponentsMatchedByRegex:方法。这将返回NSArrayNSArray个对象,每个嵌套的NSArray对象将具有捕获(索引0是字符串,索引1是第一个捕获等)。