0

请告诉我这个正则表达式有什么问题。我只需要字母,根本不需要数字。

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);
}

提前致谢。

4

1 回答 1

1

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

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

如果您可以在此处粘贴一些您评估的字符串,那就太好了。您也可以在以下网站在线尝试您的正则表达式:regexpal.com Cheers。

于 2013-11-11T09:04:34.580 回答