如何为名称编写正则表达式?如何为名称编写正则表达式?
我想它来验证下面的例子:
爱因斯坦
爱因斯坦
爱因斯坦
阿尔伯特einstIN
Ale'rt E'i 'n't'e'in
这些都应该被认为是有效的。
这是我迄今为止,但它失败:
-(BOOL) validateName: (NSString *) name{
NSString *nameRegex = @"(?:[A-Z]+[a-z' '])";
NSPredicate *nameTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", nameRegex];
return [nameTest evaluateWithObject:name];
}
任何人都可以提出一个改进?
你不能“验证”用一个简单的正则表达式的实际名称,你只能验证你决定什么是可以接受的。有两个以上的字,不寻常的字符,甚至可能是一个数字的名字pleple!例如:'比利鲍勃詹姆斯奥布莱恩Ⅻ' –