在 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 次。
我该怎么做?有什么方法可以将每个字符串的匹配项分组到一个数组中或类似的东西吗?
I'm trying to get some info out of a document. I'm trying to match the info I need with regex, which matches 3 numbers within a string. It works fine, but it only matches the first occurance. I need it to match an unlimited number of times because I don't know how many times this string will occur.
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);
}
The above code prints out 3 strings - The entire string, the first data and the second data. All good, but now I need it to keep searching the document, because similar strings will occur n times.
How do I do this? And is there any way to group the matches into an array for each string or something like that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 arrayOfCaptureComponentsMatchedByRegex: 方法。这将返回一个由
NSArray
对象组成的NSArray
,并且每个嵌套的NSArray
对象都会捕获(索引 0 是字符串,索引 1 是第一次捕获等)。Use the
arrayOfCaptureComponentsMatchedByRegex:
method. That will return anNSArray
ofNSArray
objects, and each nestedNSArray
object will have the captures (index 0 being the string, index 1 being the first capture, etc).