str*_*ave 5 regex iphone core-data objective-c ipad
这应该很简单,但不想工作.我想使用使用NSRegularExpression的NSPredicate来获取CoreData.我想搜索myString或myString_10(10是任何可能的数字,例如myString_333).
这是我的代码:
NSString *regexString = [NSString stringWithFormat:@"%@_[0-9]+", value];
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regexString
options:NSRegularExpressionSearch
error:&error];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(label = %@) OR (label = %@)", value, regex];
Run Code Online (Sandbox Code Playgroud)
value是一个字符串,label是实体的键.
如果value是"New Project",则NSFetchRequest返回一个包含一个对象的数组,但是,我的模型中有两个标签("New Project"和"New Project_1")应该被提取.
我究竟做错了什么?
使用时,正则表达式需要是 NSString 或谓词的一部分。请参阅谓词编程指南中的正则表达式。尝试使用 MATCHES 代替 =regexString和regex。如果您有任何问题,可以参考ICU 正则表达式来获取模式。