0

我正在尝试检查是否NSString为特定格式。dd:dd:dd。我在想NSRegularExpression。就像是

/^(\d)\d:\d\d:\d\d)$/ ?

4

3 回答 3

2

您是否尝试过类似的方法:

NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^\d{2}:\d{2}:\d{2}$"
                                                                       options:0
                                                                         error:&error];

NSUInteger numberOfMatches = [regex numberOfMatchesInString:string
                                                    options:0
                                                      range:NSMakeRange(0, [string length])];

(我没有测试它,因为我现在不能,但它应该可以工作)

于 2013-01-08T08:37:47.123 回答
0

我建议使用RegexKitLite

有了这个并假设在 dd:dd:dd 'd' 实际上代表 0-9 之间的一个数字,鉴于 Grijesh 的附加评论,它应该很容易实现你需要的东西。

这是从 RegexKitLite 页面复制的示例:

// finds phone number in format nnn-nnn-nnnn
NSString *regEx = @"{3}-[0-9]{3}-[0-9]{4}";
NSString *match = [textView.text stringByMatching:regEx];
if ([match isEqual:@""] == NO) {
    NSLog(@"Phone number is %@", match);
} else {
    NSLog(@"Not found.");
}
于 2013-01-08T07:59:41.153 回答
0

更新:

NSString *idRegex = @"[0-9][0-9]:[0-9][0-9]:[0-9][0-9]";
NSPredicate *idTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", idRegex];               
for (NSString * str in newArrAfterPars) {
if ([idTest evaluateWithObject:str]) {
}
}
于 2013-01-08T09:24:43.613 回答