验证密码的正则表达式需要混合数字和字母(python)

验证密码的正则表达式需要混合数字和字母(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

我试图写一个正则表达式,以满足密码标准,应该是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

想咨询一下怎么做呢? 谢谢


添加锚定以使其严格匹配。

感谢您的回复。即使在正则表达式中添加^,这个模式“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}$