在 RegexKitLite 中匹配多次

发布于 2024-09-13 12:24:11 字数 473 浏览 9 评论 0原文

我正在尝试从文档中获取一些信息。我正在尝试使用正则表达式来匹配我需要的信息,它匹配字符串中的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦过后 2024-09-20 12:24:11

使用 arrayOfCaptureComponentsMatchedByRegex: 方法。这将返回一个由 NSArray 对象组成的 NSArray,并且每个嵌套的 NSArray 对象都会捕获(索引 0 是字符串,索引 1 是第一次捕获等)。

Use the arrayOfCaptureComponentsMatchedByRegex: method. That will return an NSArray of NSArray objects, and each nested NSArray object will have the captures (index 0 being the string, index 1 being the first capture, etc).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文