How to test a regex password in Python?(如何在 Python 中测试正则表达式密码?)
问题描述
在 Python 中使用正则表达式,我如何验证用户的密码是:
Using a regex in Python, how can I verify that a user's password is:
- 至少 8 个字符
- 必须限于,但不具体要求:
- 大写字母:A-Z
- 小写字母:a-z
- 数字:0-9
- 任何特殊字符:@#$%^&+=
注意,所有字母/数字/特殊字符都是可选的.我只想验证密码长度是否至少为 8 个字符,并且仅限于字母/数字/特殊字符.如果他们愿意,用户可以选择更强/更弱的密码.到目前为止,我所拥有的是:
Note, all the letter/number/special chars are optional. I only want to verify that the password is at least 8 chars in length and is restricted to a letter/number/special char. It's up to the user to pick a stronger / weaker password if they so choose. So far what I have is:
import re pattern = "^.*(?=.{8,})(?=.*d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$" password = raw_input("Enter string to test: ") result = re.findall(pattern, password) if (result): print "Valid password" else: print "Password not valid"推荐答案
import re password = raw_input("Enter string to test: ") if re.fullmatch(r'[A-Za-z0-9@#$%^&+=]{8,}', password): # match else: # no match{8,}表示至少 8 个"..fullmatch函数要求整个字符串匹配整个正则表达式,而不仅仅是一部分.The
{8,}means "at least 8". The.fullmatchfunction requires the entire string to match the entire regex, not just a portion.这篇关于如何在 Python 中测试正则表达式密码?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 Python 中测试正则表达式密码?
基础教程推荐
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
