2024-05-26 09:19:53 发布
网友
我想用正则表达式检查复杂密码。
它应该有1个数字1个大写字母和一个小写字母,而不是按特定顺序排列。 所以我想这样的事情:
m = re.search(r"([a-z])([A-Z])(\d)", "1Az") print(m.group())
但我不知道怎么让他按顺序搜索。 我试着上网,但没发现什么有趣的东西,谢谢你的帮助。
你可以尝试寻找密码验证regex,这个网站有很多;)
也就是说,您可以使用positive lookaheads来执行此操作:
re.search(r"(?=.*[a-z])(?=.*[A-Z])(?=.*\d)", "1Az")
为了和字符串匹配。。。
re.search(r"(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{3}", "1Az")
现在,要确保密码长度为3个字符:
re.search(r"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{3}$", "1Az")
正的lookahead(?= ... )确保要测试的字符串中存在内部表达式。因此,字符串必须有一个小写字符((?=.*[a-z]))、一个大写字符((?=.*[A-Z]))和一个数字((?=.*\d)),正则表达式才能“通过”。
(?= ... )
(?=.*[a-z])
(?=.*[A-Z])
(?=.*\d)
为什么不:
if (re.search(r"[a-z]", input) and re.search(r"[A-Z]", input) and re.search(r"[0-9]", input)): # pass else # don't pass
你可以尝试寻找密码验证regex,这个网站有很多;)
也就是说,您可以使用positive lookaheads来执行此操作:
为了和字符串匹配。。。
现在,要确保密码长度为3个字符:
正的lookahead
(?= ... )
确保要测试的字符串中存在内部表达式。因此,字符串必须有一个小写字符((?=.*[a-z])
)、一个大写字符((?=.*[A-Z])
)和一个数字((?=.*\d)
),正则表达式才能“通过”。为什么不:
相关问题 更多 >
编程相关推荐