我对Mac开发非常陌生(这只是我的第二天)。做了几个月的iOS编程,掌握了基础知识,做了一个小应用。然后,当我突然遇到一个问题时,我决定也将其用于Mac :只有MacOSX10.7或更高版本才支持NSRegularExpression,而我使用的是10.6.7。我用谷歌搜索了一下,找到了一个RegexKit.framework。所以我安装了它,但是我必须为RegexKit框架重写这段代码。
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做同样的事情的帮助都将不胜感激。
编辑:让它以这种方式工作:
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];
}希望有一天它能帮助到某些人:)
发布于 2011-11-16 20:40:24
让它以这种方式工作:
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];
}希望有一天它能帮助到某些人:)
https://stackoverflow.com/questions/8134370
复制相似问题