【发布时间】:2013-03-04 00:19:38
【问题描述】:
我有一个 NSString,我想用一个 NSRegularExpression 进行测试,但它的行为与我预期的不同,我不知道在哪里可以找到答案了。
这是我的代码:
BOOL companyNameContainsOnlyAuthorizedCharacters = YES;
NSError *error = nil;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[\P{Letter}]" options:0 error:&error];
NSArray *matches = [[NSArray alloc] init];
matches = [regex matchesInString:[model editorName] options:0 range:NSMakeRange(0,[[model editorName] length])];
if ([matches count] > 0) {
companyNameContainsOnlyAuthorizedCharacters = NO;
}
据我所知,[\P{Letter}] 应该匹配除字母之外的任何内容。尽管如此,它只匹配字符“\”、“P”、“{”、“L”、“e”、“t”、“r”和“}”。我也试过不带括号[],但它根本不匹配任何东西。
任何帮助将不胜感激,在此先感谢您。
编辑: 此外,xcode 给了我一个警告,提示 \P 是一个未知的转义序列......
【问题讨论】:
-
你到底想要什么?
-
我想知道我做错了什么。
-
你想给出从 A 到 Z 的字母对吗?
标签: ios objective-c regex xcode nsregularexpression