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.fullmatch
function requires the entire string to match the entire regex, not just a portion.这篇关于如何在 Python 中测试正则表达式密码?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 Python 中测试正则表达式密码?
- 我如何透明地重定向一个Python导入? 2022-01-01
- 使用公司代理使Python3.x Slack(松弛客户端) 2022-01-01
- 使用 Cython 将 Python 链接到共享库 2022-01-01
- 检查具有纬度和经度的地理点是否在 shapefile 中 2022-01-01
- ";find_element_by_name(';name';)";和&QOOT;FIND_ELEMENT(BY NAME,';NAME';)";之间有什么区别? 2022-01-01
- 我如何卸载 PyTorch? 2022-01-01
- CTR 中的 AES 如何用于 Python 和 PyCrypto? 2022-01-01
- 如何使用PYSPARK从Spark获得批次行 2022-01-01
- 计算测试数量的Python单元测试 2022-01-01
- YouTube API v3 返回截断的观看记录 2022-01-01