Upv*_*ote 28 objective-c regexkitlite
由于Cocoa不支持常规的展示,我发现RegexKitLite非常有用.但所有示例都提取匹配字符串.
我只是想测试一个字符串是否与正则表达式匹配并获得是或否
我怎样才能做到这一点?
Vla*_*mir 56
我为此目的使用了NSPredicate:
NSString *someRegexp = ...;
NSPredicate *myTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", someRegexp];
if ([myTest evaluateWithObject: testString]){
//Matches
}
Run Code Online (Sandbox Code Playgroud)
Vaz*_*Vaz 24
另一种方法,这比使用更简单NSPredicate,是NSString的一个几乎没有文档的选项-rangeOfString:options::
NSRange range = [string rangeOfString:@"^\\w+$" options:NSRegularExpressionSearch];
BOOL matches = range.location != NSNotFound;
Run Code Online (Sandbox Code Playgroud)
我说"几乎没有记录",因为该方法本身没有列出可用的选项,但是如果你发现搜索和比较运算符的文档并发现NSRegularExpressionSearch你将看到它是-rangeOfString...自OS X以来的方法的有效选项10.7和iOS 3.2.