2011-10-20 20 views
1

我有問題將正則表達式值分配給字符串。問題是我有\ d在字符串值和objective-c抱怨!無法在objective-c中分配正則表達式字符串

這裏是我的代碼

我在這裏指定的正則表達式的值。

- (BOOL) validateUSZipCode: (NSString *) candidate { 
    NSString *regex = @"^\d{5}(-\d{4})?$"; 
    NSPredicate *test = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex]; 

    return [test evaluateWithObject:candidate]; 
} 

有人請幫助我!

+1

「抱怨」是什麼意思? –

+0

它警告我:未知的轉義序列'\ d' – HardCode

回答

2

您需要引用反斜槓以將它們包含在常數NSString中。

NSString *regex = @"^\\d{5}(-\\d{4})?$"; 
+0

謝謝,工作正常! – HardCode