我试图区分 2 个文件(以 NSString 格式)。据我所知,这可以通过比较和匹配正则表达式来完成。我拥有的 2 个 jpg 文件的格式是:
黄油.jpg
黄油-1.jpg
我的问题是我可以编写什么正则表达式来匹配上面的 2 个字符串?我已经搜索并找到了一个示例表达式,但我不确定它是如何阅读的并且认为它是错误的。
这是我的代码:
NSString *exampleFileName = [NSString stringWithFormat:@"butter-1.jpg"];
NSString *regEx = @".*l{2,}.*";
NSPredicate *regExTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regEx];
if ([regExTest evaluateWithObject:exampleFileName] == YES) {
NSLog(@"Match!");
} else {
NSLog(@"No match!");
}
编辑:
我尝试使用以下内容:
NSString *regEx = @"[a-z]+-[0-9]+.+jpg";
尝试匹配:
NSString *exampleFileName = [NSString stringWithFormat:@"abcdefg-112323.jpg"];
经测试:
abc-11.jpg(匹配)
abcsdas-.jpg(不匹配)
abcdefg11. (不匹配)
abcdefg-3123.jpg(匹配)
截至目前它有效,但我想消除它可能不起作用的任何机会,任何输入?