Python的re
模块提供字符正则匹配检查
,功能强大,写法高效简洁,因此在工作中会被经常使用。
今天举一个小例子说明re的一些主要功能。
判断密码是否安全,设计一个密码是否安全的检查函数。
密码安全要求:
导入正则模块
import re
a = re.compile(r'[0-9a-zA-Z]{6,20}')
a为正则对象,里面方法包括match
、fullmatch
等
r表示后面为正则字符
[] 表示匹配字符集合,此处0-9a-zA-Z满足密码只包含英文字母和数字
{6,20} 表示字符长度,满足要求密码为6到20位
In [6]:a.fullmatch('ddd234ws')
Out[6]:Match object; span=(0, 8), match='ddd234ws'>
fullmatch表示整个字符串是否匹配,显然字符串ddd234ws
完全匹配
In [7]: a.fullmatch('ddd234ws###')
# 返回None,表示字符串不匹配我们的要求
# 如下都是不匹配的例子
In [8]: a.fullmatch('dd')
In [9]: a.fullmatch('dd3')
In [10]: a.fullmatch('dd3wsxfdfdsfsfdwe3342532fscsdcsdfsdfsd')
import re
def check(mystr):
a = re.compile(r'[0-9a-zA-Z]{6,20}')
if a.fullmatch(mystr) is None:
return '密码只能包含英文字母和数字,长度6~20'
return '密码安全'