Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 用于全名的objective c正则表达式_Ios_Objective C_Regex - Fatal编程技术网

Ios 用于全名的objective c正则表达式

Ios 用于全名的objective c正则表达式,ios,objective-c,regex,Ios,Objective C,Regex,我想根据以下规则验证目标C中的字符串: 1) 不允许使用数字和特殊字符 2) 字符串不应以空格开头 3) 字符串不应以空格结尾 4) 字符串中允许有任意数量的单词 5) 两个连续单词之间只允许有一个空格 目前我正在使用以下代码: NSString *nameRegex = @"[A-Za-z]+[[\\s][A-Za-z]+]*"; NSPredicate *nameTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", nameR

我想根据以下规则验证目标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];

然而,它不能满足第三和第五个fules。我已经试了一个小时了,但是运气不好。有人能给我推荐正确的正则表达式吗?谢谢。

我不知道objective-c语法,但是像这样的正则表达式应该可以:

^[A-Za-z]+(?:\\s[A-Za-z]+)*$

我有两种输入类型,我必须防止数字和不同的字符。我通过使用正则表达式“[A-Za-z]+[[\s][A-Za-z]+]$”解决了我的问题。

try^[A-Za-z]+([\s][A-Za-z]+)*$你在假设一个人的全名只有两组由空格分隔的“正常”字符。。。在许多文化中,全名不仅仅是两个单词,还有许多文化中使用特殊字符(假设您的“特殊字符”包括诸如üøî等内容),这在某些情况下是有用的english@yatanadam:你说得对,但我只是重复使用了OP的正则表达式并进行了更正。这并没有回答最初的问题否,我有我的问题,这是类似于原来的问题,我的问题解决了这个解决方案。