验证密码的正则表达式需要混合数字和字母(python)
我试图写一个正则表达式,以满足密码标准,应该是6-8个字符长。它由数字和字母混合的字母数字字符组成验证密码的正则表达式需要混合数字和字母(python),python,regex,Python,Regex,我试图写一个正则表达式,以满足密码标准,应该是6-8个字符长。它由数字和字母混合的字母数字字符组成 进口稀土 def验证(passwd): reg=r“[a-z0-9]{6,8}”正则表达式 匹配=重新匹配(注册,密码) 如果匹配: 返回“有效密码” 其他: 返回“无效密码” reg=r“[a-z0-9]{6,8}”#正则表达式 然而,我在这里写的仍然匹配所有字母或所有数字模式 或 reg=r“(?=.*\d)(?=.*[a-z])。{6,8}” 这一个看起来更近了,但仍然无法排除包含\uu
进口稀土
def验证(passwd):
reg=r“[a-z0-9]{6,8}”正则表达式
匹配=重新匹配(注册,密码)
如果匹配:
返回“有效密码”
其他:
返回“无效密码”
reg=r“[a-z0-9]{6,8}”#正则表达式
然而,我在这里写的仍然匹配所有字母或所有数字模式
或
reg=r“(?=.*\d)(?=.*[a-z])。{6,8}”
这一个看起来更近了,但仍然无法排除包含\uu
想咨询一下怎么做呢?
谢谢
添加锚定以使其严格匹配。感谢您的回复。即使在正则表达式中添加^,这个模式“12340_-ah”仍然匹配。它可以工作!我还尝试了(?=.*\d)(?=.[a-z])[a-zA-Z0-9]{6,8},这也有效。似乎可以忽略严格匹配^。非常感谢。
import re
def validate(passwd):
reg = r"[a-z0-9]{6,8}" # regular expression
match = re.match(reg, passwd)
if match:
return "Valid password."
else:
return "Invalid password."
^(?=.*\d)(?=.*[a-z])[a-zA-Z0-9]{6,8}$