2011-04-20 64 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]"