objective-c - NSPredicate 和简单的正则表达式问题

标签 objective-c regex cocoa nspredicate

我在使用简单的 NSPredicates 和正则表达式时遇到问题:

NSString *mystring = @"file://questions/123456789/desc-text-here";
NSString *regex = @"file://questions+";

NSPredicate *regextest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
BOOL isMatch = [regextest evaluateWithObject:mystring];

在上面的示例中,isMatch 始终为 false/NO。

我错过了什么?我似乎找不到与 file://questions 匹配的正则表达式。

最佳答案

NSPredicates 似乎尝试匹配整个字符串,而不仅仅是子字符串。您的尾随 + 只是表示匹配一个或多个 's' 字符。您需要允许任何尾随字符的匹配。这有效:regex = @"file://questions.*"

关于objective-c - NSPredicate 和简单的正则表达式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1582700/

相关文章:

cocoa - 处理Webview中的超时

objective-c - NSUbiquitousKeyValueStore 最大大小

ios - 标签在 UITableView 中没有正确实现,为什么?

php - 使用 preg_replace 匹配重复的空格

javascript - 使用 Javascript 将某些单词替换为定义链接

objective-c - 范围或初始化问题?

ios - 触摸拖拽一个 View 到整个屏幕

ios - 从 NSString 获取一个子串直到到达一个特定的词

ios - 在 Swift 中搜索以\n\n 开头的字符串

objective-c - 更新 NSMenu 中的项目时的内存管理