因此,我想我需要一个正则表达式声明来执行此操作,但是我还没有针对 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"];