这个“密码”的正则表达式是什么

本文关键字:正则表达式 是什么 密码 这个 | 更新日期: 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]
挑选

出其中任何一个都很容易,但按任何顺序将它们三个都放在一起将是一件事情。 您可以尝试三个字符之一中的单个字符,然后对其余字符使用前瞻,但您仍然需要检查该字符的后面。

由于这是家庭作业(或者可能不是?),这里有一个不使用前瞻或其他漂亮技巧的解决方案的提示。

字符可以出现多少种(以及它是什么)排列?如何将其与交替(|)运算符一起使用?


我会使用多个测试而不是单个正则表达式:-)

快乐编码。