-1

现有的正则表达式

rWord = new Regex(@"\b(?:[-_'@\p{L}\p{N}]{2,40})\b");

要添加至少有一个 AZ 或 az 的条件

为什么这会被否决?

现在

123 可以通过
abc 可以通过
1ab 可以通过

我希望 123 不通过,因为它没有至少一个 AZ 或 az

4

2 回答 2

0

为一个或多个字母尝试以下正则表达式:

[A-Za-z]+
于 2013-01-22T14:30:36.477 回答
0

您可以添加要求至少一个字母的前瞻条件:

(?=[-_'@\p{L}\p{N}]*[a-zA-Z])

结合您的原件,这将变为:

\b(?:(?=[-_'@\p{L}\p{N}]*[a-zA-Z])[-_'@\p{L}\p{N}]{2,40})\b

reFiddle的工作示例。

于 2013-01-22T14:33:24.303 回答