下面的正则表达式要求密码有 1 个数字、1 个字符(大写或小写)并且长度至少为 8。但是如果我输入一个特殊的字符,它会返回 false。我不想要求一个特殊的字符,但我想在这种情况下允许它。如何更改此正则表达式以允许使用特殊字符?
Regex.IsMatch(Password, "^(?=.*[0-9])(?=.*[a-zA-Z])\w{8,}$")
最佳答案
将“\w”更改为“.”应该这样做:
Regex.IsMatch(Password, "^(?=.*[0-9])(?=.*[a-zA-Z]).{8,}$")
\w 匹配“单词”字符,这些字符通常不会匹配特殊字符(取决于您对“特殊”的定义和您使用的语言)。
.将匹配除换行符以外的任何字符
关于c# - 允许特殊字符的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1159517/