我正在使用票价库https://github.com/moodmosaic/Fare/从正则表达式生成随机字符串。到目前为止,它一直可以正常工作。
我现在想要的是 “密码必须至少包含8个字符,包括一个特殊字符,至少1位数字和至少1个大写字母。” 允许的特殊字符是!#$%^&*()= ,.
为此,我创建了表达式
^((?=.\d)(?=.[A-Z])(?=.*\W).{8,8})$
但是它没有生成有效的表达式 请检查有什么问题
我正在生成带有以下内容的正则表达式:
var secret = new Xeger(ConfigurationManager.AppSettings["expression"]).Generate();
Console.WriteLine(secret);
我已经更新了模式要求
答案 0 :(得分:0)
如果Fare不支持前行,那么您可以尝试使用不包含任何前行的其他正则表达式:
^([0-9])([A-Z])([!@#%*()$?+-])([a-zA-Z0-9] {5})$
因此,此正则表达式可用于验证密码,但随后我们将限制用户输入数字,第二个输入大写字母,第三个输入特殊字符,其余输入字母数字字符。