我想要一个只接受这两个模板的正则表达式:a0a 0a0
和a0a0a0
。
我一直在尝试以下格式,但它没有给出所需的结果。
我需要一个适用于这两个模板的正则表达式。
+ (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"];
}
如果有人知道这两个模板的正则表达式应该是什么,请给出解决方案。
答案 0 :(得分:1)
为什么不简单地让空间可选?此外,您应该删除+
量词,因为它们意味着“一个或多个”,并且您似乎想要“正好一个”。
此外,您可能需要包含大写字母。通常,正则表达式区分大小写。
withPattern:@"^[a-zA-Z][0-9][a-zA-Z]\\s?[0-9][a-zA-Z][0-9]"