这个“密码”的正则表达式是什么
本文关键字:正则表达式 是什么 密码 这个 | 更新日期: 2023-09-27 17:56:48
我想要至少包含一个字母数字字符、至少一个非字母数字字符(特殊字符)和至少一个数字的正则表达式。
提前谢谢。
我的问题的正确答案:
正则表达式:
^((?=.[''d])(?=.[a-z])(?=.[A-Z])|(?=.[a-z])(?=.[A-Z])(?=.[^''w''d''s])|(?=.[''d])(?=.[A-Z])(?=.[^''w''d''s])|(?=.[''d])(?=.[a-z])(?=.[^''w''d''s]))。{8,30}$
谢谢。
所以,换句话说,至少有一个字母、一个数字和一个非字母数字......
您需要两个前瞻性:
(?=.*[a-zA-Z])(?=.*[0-9]).*[^a-zA-Z0-9]
由于这被标记为家庭作业,我建议你也真正理解它:
http://www.regular-expressions.info/lookaround.html
如果您也不想要空格:
(?=.*[a-zA-Z])(?=.*[0-9]).*(?='S)[^a-zA-Z0-9]
挑选
出其中任何一个都很容易,但按任何顺序将它们三个都放在一起将是一件事情。 您可以尝试三个字符之一中的单个字符,然后对其余字符使用前瞻,但您仍然需要检查该字符的后面。
由于这是家庭作业(或者可能不是?),这里有一个不使用前瞻或其他漂亮技巧的解决方案的提示。
字符可以出现多少种(以及它是什么)排列?如何将其与交替(|
)运算符一起使用?
我会使用多个测试而不是单个正则表达式:-)
快乐编码。