这应该是非常简单的,但它不想工作。我想用一个使用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];value是一个字符串,label是实体的键。
如果value为"New Project",NSFetchRequest将返回一个包含一个对象的数组,尽管我的模型中有两个标签("New Project“和"New Project_1")需要获取。
我做错了什么?
发布于 2011-07-14 03:33:10
使用正则表达式时,它需要是NSString或谓词的一部分。参见Regular Expressions in the Predicate Programming Guide。试着用MATCHES代替=,用regexString代替regex。如果您有任何问题,可以参考模式的ICU Regular Expressions。
https://stackoverflow.com/questions/6684482
复制相似问题