我想开发一个正则表达式,它只验证具有“A、B 或 C”的字符串。
ABBCCAABBC - 应该经过验证 ABBC - 应该经过验证
ABBDF - 不应该
我想在我的一个 iPhone 应用程序中使用它。
验证只有 A、B、C 和非空的字符串:
^[ABC]+$
[ABC]
是包含任何 A、B 和 C 字符的字符集。
+
表示一个或多个
^
表示字符串的开头
$
表示字符串结束
如果要接受空字符串,请使用*
,这意味着零个或多个,而不是+
一旦检查这个,
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
如果您的范围真的那么简单,只需使用 NSCharacterSet 创建一组允许的字符,然后测试成员资格。