Iphone 目的-C正则表达式
我需要一个Objective C中的正则表达式来只接受Iphone 目的-C正则表达式,iphone,objective-c,ios,regex,nsregularexpression,Iphone,Objective C,Ios,Regex,Nsregularexpression,我需要一个Objective C中的正则表达式来只接受男性或女性。它应该是不区分大小写的意味着可以接受上下两种。我浏览了apple文档..并实现了下面的代码,但不起作用 -->只能接受男性或女性 -(BOOL)genderValidate:(NSString *)string{ NSError *error=nil; NSRegularExpression *regex =[NSRegularExpression regularExpressionWithPattern:@"\\b (m|f
男性
或女性
。它应该是不区分大小写的
意味着可以接受上下两种。我浏览了apple文档..并实现了下面的代码,但不起作用
-->只能接受男性或女性
-(BOOL)genderValidate:(NSString *)string{
NSError *error=nil;
NSRegularExpression *regex =[NSRegularExpression regularExpressionWithPattern:@"\\b (m|f)(a|e)(l|m)(e|a)(l)(e) \\b" options:(NSRegularExpressionCaseInsensitive) error: &error];
NSUInteger numberofmatches =[regex numberOfMatchesInString:string options:0 range:NSMakeRange(0,[string length])];
return numberofmatches;
}
正则表达式应该是
^(male|female)$
为什么要使用正则表达式?保持简单:
- (BOOL)genderValidate:(NSString *)string {
string = [string lowercaseString];
return [string isEqualToString:@"male"] || [string isEqualToString:@"female"];
}
如果需要最高三位数的数值,则
^[0-9][0-9][0-9]$
ryt?@Christien yes。。您也可以尝试^[0-9]{3}$
或\d{3}
^表示字符串的开始。$
表示字符串的结束@Christien将检查一个值这正好是3位数字。没有了。同样如此。如果要检查1、2或3位数字,请使用:^[0-9]{1,3}$问题指定“它应该不区分大小写”,因此您可能希望使用caseInsensitiveCompare:
而不是IsequalString
@user1135469请再次查看我的代码。第一行将字符串
转换为所有小写字母。结果是一个不区分大小写的比较。对不起…我的错(我想它现在应该得到一个向上投票:D)。但是,始终可以选择删除第一行并使用区分大小写比较:
@user1135469是的,这将是一个选项。