我试图创建一个表达式来检查响应是否至少有三个字母。数字,空格和其他所有字符都是有效的。下面的内容只适用于特殊角色不首先出现的情况。正则表达式必须至少有3个字母字符
(?=(.*[a-zA-Z]){3,})^[a-zA-Z0-9].+$
我试图创建一个表达式来检查响应是否至少有三个字母。数字,空格和其他所有字符都是有效的。下面的内容只适用于特殊角色不首先出现的情况。正则表达式必须至少有3个字母字符
(?=(.*[a-zA-Z]){3,})^[a-zA-Z0-9].+$
(?:[a-zA-Z][^a-zA-Z]*){3}
匹配(一个字母,接着由任何非leters)的3倍。 (?:)
使它更有效率,因为正则表达式引擎不必捕获。
当然,没有正则表达式可能会更容易阅读和理解。这里是C#/ linq示例。
if (s.Count(char.IsLetter) >= 3)
{
// is valid.
}
这是因为^表示“始于”。你有一个你正在测试的例子吗? – Drazisil
哪种语言? –
这将是一个有效的回应。 “*我们三个。” – JMILLS