无法使用 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);

我已经更新了模式要求

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

^([0-9](([

A-Z](([!@#%*(($?+-](([a-zA-Z0-9]{5}($

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

相关内容

  • 没有找到相关文章

最新更新