我们需要针对以下模式验证密码。 “Xabcdef99 *”[第一个字母大写,第二个到第七个字母小写,第八个到第九个数字,最后一个字符符号]
有人能为我提供同样的正则表达式吗?如何在C#中针对该Regex验证以下密码。
Userpcs12 * - >有效
Testeur333 - >无效(因为最后一个字符不是符号)
userpcs12 * - >无效(因为第一个字符不是大写的)
答案 0 :(得分:3)
你可以试试这个,
^[A-Z][a-z]{6}\d{2}[~!@#$%^&*]$
在最后一个字符类中添加所需的符号。
或
^[A-Z][a-z]{6}\d{2}\W$
\W
匹配任何非单词字符。如果您将[\W_]
视为特殊字符,请将其更改为_
。
答案 1 :(得分:0)
试试这个:
Regex regex = new Regex(@"^[A-Z][a-z]{6}\d{2}\W$");
Assert.IsTrue(regex.IsMatch("Xabcdef99*"));
Assert.IsTrue(regex.IsMatch("Xabcdef99$"));
Assert.IsFalse(regex.IsMatch("Testeur333"));
Assert.IsFalse(regex.IsMatch("userpcs12*"));
答案 2 :(得分:0)