Or *_*imi 4 python regex match
我想用正则表达式检查复杂的密码.
它应该有1个1号大写和1个小写字母,而不是特定的顺序.所以我对这样的事情:
m = re.search(r"([a-z])([A-Z])(\d)", "1Az")
print(m.group())
Run Code Online (Sandbox Code Playgroud)
但我不知道如何告诉他以任何顺序搜索.我试着在网上看,但我找不到有趣的东西,谢谢你的帮助.
您本来可以尝试寻找密码验证正则表达式,该网站有很多;)
也就是说,您可以使用积极的前瞻来做到这一点:
re.search(r"(?=.*[a-z])(?=.*[A-Z])(?=.*\d)", "1Az")
Run Code Online (Sandbox Code Playgroud)
并实际匹配字符串......
re.search(r"(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{3}", "1Az")
Run Code Online (Sandbox Code Playgroud)
现在,要确保密码长度为3个字符:
re.search(r"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{3}$", "1Az")
Run Code Online (Sandbox Code Playgroud)
正向前瞻(?= ... )确保内部表达式存在于要测试的字符串中.因此,字符串必须有一个小写字符((?=.*[a-z])),一个大写字符((?=.*[A-Z]))和一个数字((?=.*\d)),用于正则表达式"传递".