正则表达式不工作,总是检测匹配

时间:2013-11-11 09:00:08

标签: ios objective-c regex ios6

请告诉我这个正则表达式有什么问题。我需要只有字母表而且没有数字。

NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^(?!\\s*$)()[a-zA-Z,\\w,.\\s,-]{2,50}$"
                                                                       options:NSRegularExpressionUseUnicodeWordBoundaries
                                                                         error:&error];
NSUInteger numberOfMatches = [regex numberOfMatchesInString:text
                                                    options:0
                                                      range:NSMakeRange(0, [text length])];

if (numberOfMatches == 1) {
    return  nil;
} else {
    return NSLocalizedString(@"name.validation.alert1", nil);
}

提前致谢。

1 个答案:

答案 0 :(得分:1)

正则表达式中有一个.,它也允许一个数字。 请重新考虑更改正则表达式:

^(?=\\S)()[A-Za-z\\s]{2,50}$

如果您可以粘贴一些您评估的字符串,那就太好了。 您还可以在以下网站在线试用您的正则表达式:regexpal.com 欢呼声。