# -*- coding: utf-8 -*-
"""
匹配多个数据
匹配单个数据
匹配开头结尾

.匹配任意字符,但不能匹配换行\n
[]匹配括号中列举的数据
\d匹配数字,单个0-9
\D匹配非数字
\s匹配空白,tab键等
\S匹配非空白
\w匹配单词字符,单个a-z
\W匹配非单词字符
"""
import re

#2.在验证码,匹配G,不区分大小写
result=re.match("[gG]","Girl")
result=re.match("[0123456789]","12313355")
#print(result.group())
#3.\d匹配单个数字,如嫦娥1号、2号、3号
result=re.match("嫦娥\d号","嫦娥9号发射成功")
#print(result.group())
#3.1.*匹配多个数字,在嫦娥11号
#*前面的字符出现0次或多次
result=re.match("嫦娥\d*号","嫦娥19号发射成功")
#print(result.group())
#3.2.?前面的字符出现0次或1次,非贪婪
#贪婪:能匹配就匹配
#非贪婪,能不匹配就不匹配
result=re.match("嫦娥\d?号","嫦娥1号发射成功")
#print(result.group())
#3.3{x},匹配里面出来的数据次数,如{x},出现的x次数
result=re.match("嫦娥\d{2}号","嫦娥11号发射成功")
#print(result.group())
#3.4{x,y},出现的从x次到y次数,如修改qq密码从6位到15位
result=re.match("嫦娥\d{2,4}号","嫦娥1123号发射成功")
#print(result.group())
#3.5匹配以^开始,以$结尾
#3.6匹配163的邮箱

emails=['xaifa@163.com','1235@163.comdd','.comfs@sssc','dfafa.com']
for email in emails:
    ret=re.match('^[\w]{4,20}@163\.com$',email)
    if ret:
        print('符合规则%s'%(email))
    else:
        print('%s不符合'%email)