我想根据以下规则验证目标C中的字符串:
1)不允许使用数字和特殊字符。
2)字符串不应以空格开头。
3)字符串不应以空格结尾。
4)字符串中允许任意数量的单词。
5)两个连续的单词之间只允许有一个空格。
目前我正在使用以下代码:
NSString *nameRegex = @"[A-Za-z]+[[\\s][A-Za-z]+]*";
NSPredicate *nameTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", nameRegex];
bool isCheckStringValid = [nameTest evaluateWithObject:checkString];
然而,它不满足第3和第5个。我已经尝试了一个小时,但没有运气。有人能建议我正确的正则表达吗?感谢。
答案 0 :(得分:1)
我不知道objective-c语法,但像这样的正则表达式应该可以工作:
^[A-Za-z]+(?:\\s[A-Za-z]+)*$
答案 1 :(得分:-1)
我有两种输入类型,必须防止数字和不同的字符。我通过使用此正则表达式“ [A-Za-z] + [[\ s] [A-Za-z] +] $”解决了我的问题