2013-05-25 30 views
2

我想開發一個只驗證具有「A,B或C」的字符串的正則表達式。正則表達式驗證具有特定字符的字符串

ABBCCAABBC - 應驗證 ABBC - 應驗證

ABBDF - 不應該

我想在我的iPhone應用程序之一來使用這一點。

+6

我覺得有點奇怪,你想'開發'一個正則表達式,但要求它寫在這裏爲你... – Jerry

+0

對不起英文不好。 –

回答

3

爲了驗證串僅具有A,B,C,和非空:

^[ABC]+$

[ABC]是含有任何的A,B和C的字符的字符集。

+指一個或多個

^意味着字符串的開頭

$意味着字符串的結尾

如果你想接受空字符串,使用*,這意味着零個或更多,而不是+

1

一旦檢查這一個,

NSString *stringToBeTested = @"ABCAAAAAAAAA"; 

    NSString *RGExpression = @"[A-C]{1,}"; 
    NSPredicate *evaluate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", RGExpression]; 

    BOOL matched = [evaluate evaluateWithObject:stringToBeTested]; 
    NSLog(@"%d",matched); 

    string   O/P 
--------------------------- 
@"ABCAAAAAAAAA"  1 
@"ASD"    0 
@"A"     1 
@""     0 
1

如果您的範圍真的很簡單,只需使用NSCharacterSet創建一組允許的字符,然後測試成員資格。

相關問題