0

我正在使用 Fare 库https://github.com/moodmosaic/Fare/从正则表达式生成随机字符串。到目前为止,它一直在正常工作。

我现在想要的是“密码必须最少/最多 8 个字符,包括一个特殊字符、至少 1 个数字和至少一个大写字母。” 允许的特殊字符是!#$%^&*()=,。

为此,我创建了表达式

 ^((?=.\d)(?=.[A-Z])(?=.*\W).{8,8})$

但它没有生成有效的表达式 请检查是什么问题

我正在生成正则表达式:

var secret = new Xeger(ConfigurationManager.AppSettings["expression"]).Generate();
Console.WriteLine(secret);

我已经更新了模式要求

4

1 回答 1

0

如果 Fare 不支持前瞻,那么您可以尝试使用没有任何此类前瞻的不同正则表达式:

^([0-9])([AZ])([!@#%*()$?+-])([a-zA-Z0-9]{5})$

所以这个正则表达式可用于验证密码,但我们将限制用户首先输入一个数字,第二个大写字母,第三个特殊字符,其余是字母数字字符的混合。

于 2019-07-16T07:22:20.973 回答