【发布时间】:2014-07-18 13:04:01
【问题描述】:
我正在尝试使用 NSRegularExpression 查找由一对 % 字符分隔的子字符串的多次出现,例如,如果我想从以下内容中提取“%FirstOccurence%enter code here”作为子字符串:
"stuff %FirstOccurence% more stuff"
那么我可以这样做:
NSString* const pattern = @"[%].+[%]";
NSRegularExpression* regex = [[NSRegularExpression alloc] initWithPattern:pattern
options:0
error:nil];
NSRange range = NSMakeRange(0, [testData length]);
NSTextCheckingResult *textCheckingResult = [regex firstMatchInString:testData options:0 range: range];
但是,如果字符串包含这样的内容:
"stuff %FirstOccurence% more stuff %Second Occurrence% yet more stuff"
然后我的正则表达式将匹配这个:"%FirstOccurence% more stuff %Second Occurrence%" 即 NSTextCheckingResult 将包含一个范围。
为了使 NSTextCheckingResult 包含两个范围 %FirstOccurence% 和 %Second Occurrence% 而不是一个更大的范围,正则表达式/代码应该是什么?
【问题讨论】:
标签: objective-c regex nsregularexpression