NSPredicate 正则表达式错误

NSPredicate Regex error

我正在处理文档管理页面。我使用了 NSPredicate 正则表达式,同时从用户输入中得到了 searchBar.text。发生错误(如下图),而输入是中文形式的括号但英文形式正常。如果有人遇到过这个问题?谢谢。

这是我的代码,崩溃发生在最后一行。

NSString * searchStr = [NSString stringWithFormat:@"fileName like[cd] \'*%@*\'",searchDisplayController.searchBar.text];
NSPredicate *predicate = [NSPredicate predicateWithFormat:searchStr];
self.fileArrayAfterPre =  [[NSMutableArray alloc] initWithArray:[fileArr filteredArrayUsingPredicate:predicate]];

LIKE:用于通配符表达式。

CONTAIN:根据您的问题,您应该使用 contain[cd],因为它将文件与搜索文本相匹配。

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"fileName CONTAINS[cd] %@",searchDisplayController.searchBar.text];

    self.fileArrayAfterPre =  [[NSMutableArray alloc] initWithArray:[fileArr filteredArrayUsingPredicate:predicate]];