如何在NSRegularExpression中同时包含空格和非空格?

时间:2011-04-20 07:00:09

标签: iphone regex pattern-matching

我想要一个只接受这两个模板的正则表达式:a0a 0a0a0a0a0。 我一直在尝试以下格式,但它没有给出所需的结果。 我需要一个适用于这两个模板的正则表达式。

+ (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 个答案:

答案 0 :(得分:1)

为什么不简单地让空间可选?此外,您应该删除+量词,因为它们意味着“一个或多个”,并且您似乎想要“正好一个”。

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

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