我在使用简单的 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/