因此,我想我需要一个正则表达式声明来执行此操作,但是我还没有针对 objective-c 进行任何正则表达式,并且大约一年都没有编写过正则表达式声明。

我认为应该像((?=。* [0-9])。{7,1000})

如何将其用于客观的c字符串比较并评估结果?

我的正则表达式也正确吗?

最佳答案

虽然正则表达式可能会起作用,但是还有另一种方法:

NSString *str = // some string to check for at least one digit and a length of at least 7
if (str.length >= 7 && [str rangeOfCharacterFromSet:[NSCharacterSet decimalDigitCharacterSet]].location != NSNotFound) {
    // this matches the criteria
}

这段代码实际上检查的不只是0-9。它也处理其他语言的数字。如果您真的只想要0-9,请替换:
[NSCharacterSet decimalDigitCharacterSet]

和:
[NSCharacterSet characterSetWithCharactersInString:@"0123456789"];

10-04 11:30