gpt4 book ai didi

objective-c - 将 NSRegularExpression 重写为 RegexKit

转载 作者:行者123 更新时间:2023-12-03 16:59:01 26 4
gpt4 key购买 nike

我对 Mac OS X 开发还很陌生(只是我的第二天)。做了几个月的 iOS 编程,掌握了基础知识,制作了一个小应用程序。然后,当我突然遇到一个问题时,我决定也为 Mac OS X 制作它:NSRegularExpression 仅受 Mac OS X 10.7 或更高版本支持,而我使用的是 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];
}

希望有一天它会对某人有所帮助:)

最佳答案

以这种方式工作:

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];
}

希望有一天它会对某人有所帮助:)

关于objective-c - 将 NSRegularExpression 重写为 RegexKit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8134370/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com