oc 正则表达式 转义字符

密码:6~16位半角字符(字母、数字、符号)字母区分大小写,不支持空格

  支持符号:

`~!@#$%^&*()_+-=[]{};':",./<>?\|  1234567890  a~z  A~Z


对应代码:


-(BOOL)isValidatePassword

{

    NSString *stricterFilterString = @"^[A-Za-z0-9!@#$%^&*.~/{}|()'\"?><,.`+-=_:;\\\\[]]\\\[]{6,16}$";

    NSLog(@"stricterFilterString = %@",stricterFilterString);

    NSPredicate *passwordTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", stricterFilterString];  

    return [passwordTest evaluateWithObject:self];

}


看到对应的正则表达式字符串,是不是有点蛋疼? \\\\  只是为了识别‘\’, [ [ ] 是为了识别 [  , \\\] 是为了识别 ]。

在正则表达式中特殊字符的处理是需要用转义字符的,这次在oc中用到,发现里面除了[ 、 ]、 \这三需要转义。而且在识别里面\\才算一个\. 

你可能感兴趣的:(IOS,正则表达式,正则表达式)