首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将NSRegularExpression重写为RegexKit

将NSRegularExpression重写为RegexKit
EN

Stack Overflow用户
提问于 2011-11-15 17:51:13
回答 1查看 692关注 0票数 1

我对Mac开发非常陌生(这只是我的第二天)。做了几个月的iOS编程,掌握了基础知识,做了一个小应用。然后,当我突然遇到一个问题时,我决定也将其用于Mac :只有MacOSX10.7或更高版本才支持NSRegularExpression,而我使用的是10.6.7。我用谷歌搜索了一下,找到了一个RegexKit.framework。所以我安装了它,但是我必须为RegexKit框架重写这段代码。

代码语言:javascript
复制
NSString *aString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSError *error = nil;
NSRegularExpression *regex = [NSRegularExpression         
                              regularExpressionWithPattern:@"(\\{.*?\\})"
                              options:NSRegularExpressionCaseInsensitive
                              error:&error];
[regex enumerateMatchesInString:aString options:0 range:NSMakeRange(0, [aString length]) usingBlock:^(NSTextCheckingResult *match, NSMatchingFlags flags, BOOL *stop){
    [MyParserClass parserWithResponse:[aString substringWithRange:match.range] delegate:self andRequest:request];
}];

任何关于如何使用RegexKit做同样的事情的帮助都将不胜感激。

编辑:让它以这种方式工作:

代码语言:javascript
复制
NSString *aString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSString *regex = @"(\\{.*?\\})";
NSArray *matches = [aString arrayOfCaptureComponentsMatchedByRegex:regex];
for (NSArray *match in matches) {
    [MyParserClass parserWithResponse:[match lastObject] delegate:self andRequest:request];
}

希望有一天它能帮助到某些人:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-16 20:40:24

让它以这种方式工作:

代码语言:javascript
复制
NSString *aString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSString *regex = @"(\\{.*?\\})";
NSArray *matches = [aString arrayOfCaptureComponentsMatchedByRegex:regex];
for (NSArray *match in matches) {
    [MyParserClass parserWithResponse:[match lastObject] delegate:self andRequest:request];
}

希望有一天它能帮助到某些人:)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8134370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档