无法使用Fare从复杂的正则表达式生成字符串

时间:2019-07-12 12:13:47

标签: c# .net regex fare

我正在使用票价库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);

我已经更新了模式要求

1 个答案:

答案 0 :(得分:0)

如果Fare不支持前行,那么您可以尝试使用不包含任何前行的其他正则表达式:

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

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