2011-04-20 66 views
0

我想要一个只接受这两个模板的正则表达式:a0a 0a0a0a0a0。 我一直在尝试下面的格式,但它没有给出所需的结果。 我需要一个适用于这两个模板的单一正则表达式。如何在NSRegularExpression中同时包含空格和非空格?

+ (BOOL)hasPostalCodeValidation:(NSString *)postalCode { 
    return [self hasPostalRegex:postalCode 
        withPattern:@"^[a-z]+[0-9]+[a-z]+(\\ |\\S[^a-z0-9])?[0-9]+[a-z]+[0-9]" 
      withTemplateString:@"A0A 0A0"]; 
} 

如果有人知道这两个模板的正则表达式,请给出解决方案。

回答

1

为什么不简单地让空间可选?另外,你应该删除+量词,因为它们的意思是“一个或多个”,而你似乎想要“完全一个”。

此外,您可能需要包含大写字母。通常,正则表达式区分大小写。

withPattern:@"^[a-zA-Z][0-9][a-zA-Z]\\s?[0-9][a-zA-Z][0-9]"