Iphone 目的-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

我需要一个Objective C中的正则表达式来只接受
男性
女性
。它应该是
不区分大小写的
意味着可以接受上下两种。我浏览了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是的,这将是一个选项。