1.正则表达式与NSPredicate(谓词)连用
- (BOOL)numExpression:(NSString ) TestString{
NSString numExpression=@"^[0-9]+$";
NSPredicate *numPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",numExpression];
return [numPredicate evaluateWithObject:TestString];
}
这种方式匹配比较灵活,但是需要有谓词的相关知识,谓词的表达式与sqlite操作语句基本类似,学习起来也不难。
2.NSString方法
NSString *TestString = @"TestString";
NSRange range = [TestString rangeOfString:@"^[0-9]+$" options:NSRegularExpressionSearch];
if (range.location != NSNotFound) {
NSLog(@"range :%@", [TestString substringWithRange:range]);
}
3.NSRegularExpression方法
NSString *TestString = @"TestString";
NSError *error = NULL;
NSRegularExpression *regExpression = [NSRegularExpression regularExpressionWithPattern:@"^[0-9]+$" options:NSRegularExpressionCaseInsensitive error:&error];
NSTextCheckingResult *result = [regExpression firstMatchInString:searchText options:0 range:NSMakeRange(0, [TestString length])];
if (result) {
NSLog(@"---%@", [TestString substringWithRange:result.range]);
}