正则的简单学习与应用
import re #- match:从开头进行匹配,匹配到就返回正则结果对象,没有返回None。 m=re.match('abc','abcdaskjabcsdaj') print(m.group())#返回要匹配的内容 print(m.span())# 返回匹配内容位置 # 匹配所有内容,找到返回所有匹配的内容列表,没有找到返回空列表 f=re.findall('abcd','adsjkjdabcajsdlasabcjsdlaabc') print(f) # 先生成正则表达式对象 c = re.compile('hello') print(type(c)) # 从开头匹配 m = c.match('hellosadk;ask;kahellosadhlkas') print(m) # 从任意位置匹配 s = c.search('hadlsjasdhellokjsdlks') print(s) # 匹配所有内容 f = c.findall('hellosdhasdjahelloshdajldhello') print(f) patterns=re.compile('^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,30}$') while True: pasword = input('请输入密码:') f = patterns.findall(pasword) if not f: print('密码不规范,请重新输入:(密码必须包含数字、字母、特殊符号,且长度不能小于8)') else: print(f) print('密码设置成功')
上面是一些简单的练习,比较适合初学者,适合入门,写得不好勿喷
下面是打印出的结果
abc (0, 3) [] <class '_sre.SRE_Pattern'> <_sre.SRE_Match object; span=(0, 5), match='hello'> <_sre.SRE_Match object; span=(9, 14), match='hello'> ['hello', 'hello', 'hello'] 请输入密码: