これを確認してください。あなたのフォーマットでうまく動作します。
space,(,) のような特別な文字を与えたい場合は、その文字を // で追加します
NSString *phone=@"(123)123-1234";
NSString *pNRegex = @"\\([0-9]{3}\\)[0-9]{3}\\-[0-9]{4}";
NSPredicate *PNTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pNRegex];
BOOL check=[PNTest evaluateWithObject:phone ];
NSLog(@"%i",check);
O/P:-
(123)123-1234 - check=1
(123123-1234 - check=0
(123) 123-1234 - check=0
エンドブラケットの後にスペースを入れたい場合は、これを使用してください。
NSString *phone=@"(123) 123-1234";
NSString *pNRegex = @"\\([0-9]{3}\\)\\ [0-9]{3}\\-[0-9]{4}";
NSPredicate *PNTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pNRegex];
BOOL check=[PNTest evaluateWithObject:phone ];
NSLog(@"%i",check);
O/P:-
(123) 123-1234 - check=1
(123123-1234 - check=0
(123)123-1234 - check=0