【发布时间】:2018-03-29 18:35:11
【问题描述】:
我想要一个可以包含名字的正则表达式
1) 字母 2)空间 3)撇号
Exp: Raja, Raja reddy, Raja's,
我使用了这个 ^([a-z]+[,.]?[ ]?|[a-z]+[']?)+$,但它无法识别撇号 (')。
- (BOOL)validateFirstNameOrLastNameOrCity:(NSString *) inputCanditate {
NSString *firstNameRegex = @"^([a-z]+[,.]?[ ]?|[a-z]+[']?)+$";
NSPredicate *firstNamePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES[c] %@",firstNameRegex];
return [firstNamePredicate evaluateWithObject:inputCanditate];
}
【问题讨论】:
-
我不知道为什么人们总是坚持验证姓名,但无论如何,只要
^(?=[^a-zA-Z]*[a-zA-Z])[a-zA-Z,.' -]+$ -
它不适用于 (')。 O'Lary 的名字失败了。
标签: objective-c regex nspredicate