RegEx必须至少包含3个字母字符

时间:2011-07-04 15:56:45

标签: regex

我正在尝试创建一个表达式来检查响应是否至少包含三个字母。数字,空格和所有其他字符均有效。我下面的内容只有在特殊字符没有出现时才有效。

(?=(.*[a-zA-Z]){3,})^[a-zA-Z0-9].+$

2 个答案:

答案 0 :(得分:6)

您可以使用更简单的正则表达式:([a-zA-Z].*?){3}

这匹配一个字母,可选地后跟其他字符,重复三次。

答案 1 :(得分:1)

(?:[a-zA-Z][^a-zA-Z]*){3}

匹配(一封信,然后是任何非字母)3次。 (?:)使得它更有效率,因为正则表达式引擎不必捕获。

当然,没有正则表达式,阅读和理解可能更容易。这是C#/ linq的例子。

if (s.Count(char.IsLetter) >= 3)
{
   // is valid.
}