现有正则表达式
rWord = new Regex(@"\b(?:[-_'@\p{L}\p{N}]{2,40})\b");
想要添加至少有一个A-Z或a-z
的条件为什么这会被拒绝?
现在
123会通过
abc可以通过
1ab会通过
我想123不要通过,因为它没有至少一个A-Z或a-z
答案 0 :(得分:0)
请尝试以下正则表达式中的一个或多个字母:
[A-Za-z]+
答案 1 :(得分:0)
您可以添加至少需要一个字母的lookahead condition:
(?=[-_'@\p{L}\p{N}]*[a-zA-Z])
结合原作,这就变成了:
\b(?:(?=[-_'@\p{L}\p{N}]*[a-zA-Z])[-_'@\p{L}\p{N}]{2,40})\b
reFiddle的工作示例。