其他教程

其他教程

Products

当前位置:首页 > 其他教程 >

Python正则表达式

GG网络技术分享 2025-03-18 16:14 5


问题描述:

利用正则表达式判断密码是否符合要求,满足要求输出“密码设置成功”,否则输出“密码不符合要求,请重新设置”。密码的具体要求如下:必须由10-15位指定字符组成:数字,大写字母,小写字母,下划线,要求四种类型的字符都出现才算合法的密码。例如:Aatb32_67mnqb才是合格的强密码。

网友观点:

import re

pattern = re.compile(ur'^[a-zA-Z0-9_]{10,15}$')

str = u''

print(pattern.search(str))

 

python 代码:[纯代码]

 

import string

num = input(">>>>>")

num = set(num)

chars = string.ascii_lowercase

upper = string.ascii_uppercase

number = {str(i) for i in range(11)}

ta = {'_'}

length = len(num)

if 15 >= length >= 10:

chars = set(chars)

upper = set(upper)

if num & chars and num & upper and num & number and num & ta and not num - chars - upper - number - ta:

print('强密码')

else:

print("弱密码")

else:

print("bad password length")

 

可以参考博文:https://season.blog.csdn.net/article/details/103667744

<span class="hljs-string">""" 

@Time : 2021/6/25 10:46

@Author : Keep Doing this

@FileName: CSDN利用正则表达式判断密码.py

@SoftWare: PyCharm

"""</span>

<span class="hljs-keyword">import</span> re

<span class="hljs-comment"># 密码至少8位数</span>

rule_1 = re.<span class="hljs-built_in">compile</span>(<span class="hljs-string">r'\\w{8,15}'</span> )

<span class="hljs-comment"># 密码同时包含大小写字母和下划线</span>

rule_2 = re.<span class="hljs-built_in">compile</span>(<span class="hljs-string">r'([a-z].*[A-Z])|([A-Z].*[a-z])|{_}'</span>)

<span class="hljs-comment"># 密码同时包含大小写字母和下划线</span>

rule_4 = re.<span class="hljs-built_in">compile</span>(<span class="hljs-string">r'_'</span>)

<span class="hljs-comment"># 密码至少有一位数字</span>

rule_3 = re.<span class="hljs-built_in">compile</span>(<span class="hljs-string">r'\\d'</span> )

<span class="hljs-comment"># 密码不符合要求的显示</span>

NO = <span class="hljs-string">u'输入的密码不够安全!'</span>

<span class="hljs-comment"># 密码符合要求的显示</span>

YES = <span class="hljs-string">u'输入的密码很安全!'</span>

<span class="hljs-built_in">print</span>(<span class="hljs-string">u'请输入密码:'</span> )

passwd = <span class="hljs-built_in">input</span>(<span class="hljs-string">'>'</span>)

flag=<span class="hljs-number">1</span>

<span class="hljs-keyword">while</span> flag!=<span class="hljs-number">0</span>:

<span class="hljs-keyword">if</span> rule_1.search(passwd) == <span class="hljs-literal">None</span>:

<span class="hljs-built_in">print</span>(NO, <span class="hljs-string">"密码长度必须为8~15"</span>)

flag=<span class="hljs-number">1</span>

<span class="hljs-keyword">elif</span> rule_2.search(passwd) == <span class="hljs-literal">None</span>:

<span class="hljs-built_in">print</span>(NO, <span class="hljs-string">"缺少大写或小写字母"</span>)

flag = <span class="hljs-number">1</span>

<span class="hljs-keyword">elif</span> rule_3.search(passwd) == <span class="hljs-literal">None</span>:

<span class="hljs-built_in">print</span>(NO, <span class="hljs-string">"缺少数字"</span>)

flag = <span class="hljs-number">1</span>

<span class="hljs-keyword">elif</span> rule_4.search(passwd) == <span class="hljs-literal">None</span>:

<span class="hljs-built_in">print</span>(NO,<span class="hljs-string">"缺少下划线"</span>)

<span class="hljs-keyword">else</span>:

<span class="hljs-built_in">print</span>(YES)

flag = <span class="hljs-number">0</span>

<span class="hljs-keyword">if</span> flag==<span class="hljs-number">1</span>:

<span class="hljs-built_in">print</span>(<span class="hljs-string">"请重新输入密码:"</span>)

passwd = <span class="hljs-built_in">input</span>(<span class="hljs-string">'>'</span>)

Python语言基础(7.8)re模块(正则表达式)

正则表达式是一种文本模式,用于搜索匹配文本中的一个或多个字符串。

Python 提供名为 re 的内置包,可用于处理正则表达式。

一、re 中的方法

1.match

匹配字符串的开始,如果匹配成功,则返回match对象。没有匹配,则返回none。

格式:match(<正则表达式>,<字符串>)

标签:

提交需求或反馈

Demand feedback