用于密码验证的正则表达式,对于正确的密码返回false
本文关键字:密码 返回 于正确 false 正则表达式 验证 用于 | 更新日期: 2023-09-27 18:04:11
我尝试编写一个正则表达式来验证密码,但是对于有效的密码它返回false。
密码必须至少包含以下3个字符:
- 数字
- 大写字母
- 小写字母 特殊字符
密码长度没有限制。
这是我的尝试:
@"^(?=(.*'d){3})(?=(.*[a-z]){3})(?=(.*[A-Z]){3})(?=(.*[^a-zA-Z'd]){3})$"
另外,我完全知道如何在不使用正则表达式的情况下做到这一点。然而,这是一个大学的任务,我们已经被告知我们必须使用它们。
我认为你唯一的问题是你没有匹配任何字符。
@"^(?=(.*'d){3})(?=(.*[a-z]){3})(?=(.*[A-Z]){3})(?=(.*[^a-zA-Z'd]){3})$"
只包含了你的头表,这保证了你的条件。这意味着基本上你需要条件,另一方面,真正的模式只有^$
匹配空字符串。这个正则表达式永远不会返回true。
只需在末尾添加.*
以实际匹配字符。
@"^(?=(.*'d){3})(?=(.*[a-z]){3})(?=(.*[A-Z]){3})(?=(.*[^a-zA-Z'd]){3}).*$"