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

问题描述

| 我想要一个仅接受以下两个模板的正则表达式:
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\"];
}
如果有人知道这两个模板的正则表达式是什么,请给出解决方案。

解决方法

为什么不简单地将空间设为可选?另外,您应删除“ 3”个量词,因为它们的意思是“一个或多个”,并且您似乎想要“恰好一个”。 另外,您可能需要包含大写字母。通常,正则表达式区分大小写。
withPattern:@\"^[a-zA-Z][0-9][a-zA-Z]\\\\s?[0-9][a-zA-Z][0-9]\"

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...