1.长度为8-10的用户密码(以字母开头,包含数字、字母、下划线)
import re
reg=re.compile('^[a-zA-Z]\w{7,9}')
userSecret=input('请输入用户名密码:')
res = reg.match(userSecret)
if res:
print('用户名密码是:%s'%res.group())
else:
print('用户密码格式错误!')
2.验证用户名,长度为6-18位的英文字母组成
import re
reg=re.compile('[a-zA-Z]{6,18}')
userData=input('请输入用户名:')
res=reg.match(userData)
if res:
print('用户名是:%s'%res.group())
else:
print('用户名格式错误!')
3.邮箱验证126,163邮箱:6-18个字符,可使用字母、数字、下划线,需以字母开头
import re
Data=input('请输入邮箱:')
pattern='[a-zA-Z]\w{5,27}@126.com|[a-zA-Z]\w{5,27}@163.com'
res=re.match(pattern,Data)
if res:
print('邮箱验证正确!')
print(res.group())
else:
print('邮箱验证失败!')
5.python中的re模块匹配规则默认是贪婪模式
6.python中使用re模块match方法匹配文本时,flags使用re.I时忽略文本大小写匹配
7.写一个正则匹配python变量名:不能以数字开头,变量名只能包含字母、数字、下划线
8.写一个正则匹配路径‘C:\myfile\myfile’ # 正则前加r
一、'Save your heart for someone who cares'请使用正则将文本中的‘s’替换成’S‘,请写python代码完成替换。
import re
Data='Save your heart for someone who cares'
res=re.sub('s','S',Data)
print(res) #Save your heart for Someone who careS
res=re.subn('s','S',Data)
print(res) #('Save your heart for Someone who careS', 2)
二、'<span>三生三世,十里桃花</span><span>九州牧云记</span><span>莫斯科行动</span>'
请使用正则将 <span>标签中的全部内容匹配出来,请写出pyhton代码完成匹配。
import re
data='<span>三生三世,十里桃花</span><span>九州牧云记</span><span>莫斯科行动</span>'
reobj=re.compile(r'<span>(.*)</span><span>(.*)</span><span>(.*)</span>')
result=reobj.findall(data)
print(result) #[('三生三世,十里桃花', '九州牧云记', '莫斯科行动')]
#如果不加括号分组时不可以的
reobj=re.compile(r'<span>.*</span><span>.*</span><span>.*</span>')
result=reobj.findall(data)
print(result) #['<span>三生三世,十里桃花</span><span>九州牧云记</span><span>莫斯科行动</span>']
# 分组别名的用法
patternNick=r'<(?P<A>\w*)>(.*)</(?P=A)><(?P=A)>(.*)</(?P=A)><(?P=A)>(.*)</(?P=A)>'
reobj=re.compile(patternNick)
result=reobj.findall(data)
print(result) #[('span', '三生三世,十里桃花', '九州牧云记', '莫斯科行动')]