day18 正则函数以及pygame

1.compile(正则表达式) --->将正则表达式转换为正则对象

    print(re.compile('r\d{3}'))

2.fullmatch(正则表达式,字符串) --->让字符串和正则表达式完全匹配

result = re.fullmatch(r'(\d{3})','123')
    print(result)

    应用:检测字符串内容是否符合要求,例如:检测账号、密码、判断手机号、身份证号等是否合法
    匹配对象:1.span  匹配结果在原字符串的位置
              2.start和end  -匹配到的字符串在原字符串中的开始下标和结束下标
              3.group  -获取匹配到的字符串(结果是字符串)
              4.string   -获取原字符串
    print(result.start(),result.end())
    print(result.span(1))#打印匹配结果的第一个分组,使用的前提示必须有分组
    print(result.group())
    print(result.group(1))#获取第二个分组匹配到的字符串
    print(result.groups())#获取所有分组匹配到的字符串

3.match(正则表达式,字符串)---->让字符串的开头和正则表达式进行匹配,匹配成功返回字符串对象,否则返回None

    print(re.match(r'\D\d','s211ka'))

4.search(正则表达式,字符串) ---->在字符串中取匹配第一个符合正则的子串,匹配成功结果是匹配对象,否则是None

    print(re.search(r'[\u4e00-\u9fa5]{3}','asd你好吗22askj'))

5.split(正则表达式,字符串)--->将字符串按照正则要求的子串进行切割(返回值是列表)

    print(re.split(r'\d+','sahdj123hjk123b,2312k3j'))

6.sub(正则表达式,字符串1,字符串2) ---->将字符串2中能够和正则表达式匹配的子串替换成字符串1,产生一个新的字符串

    print(re.sub(r'曾令鹏','*','dsadsadasd操你妈杂种曾令鹏'))

7.findall (正则表达式,字符串) --->在字符串中获取满足条件的所有字符串(结果是列表)
注意:如果正则表达式中分组,直接获取到的是分组中的内容,结果中有多个分组则返回的是元组

    print(re.findall(r'\d+[a-z]','das1sd2dsa'))
    print(re.findall(r'(\d+)[a-z]','das1sd2dsa'))

8.finditer(正则表达式,字符串) --->在字符串中获取满足正则表达式的所有子串(结果是迭代器,元素是匹配对象)

    result = re.finditer(r'\d+[a-z]', 'das1sd2dsa')
    print(result)
    print(next(result).group())

9.忽略大小写,匹配的越苏条件是放在函数的flags参数中的

    print(re.fullmatch(r'[a-z]{2}','dS',re.I))

练习:用户名必须是由字母数字下划线构成且长度在6-20个字符之间qq必须是5-12的数字首位不能为0

    re_str=r'[1-9]\d{4,11}'#QQ号
    re_str=r'[a-zA-Z\D_]{6,20}'
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • python的re模块--细说正则表达式 可能是东半球最详细最全面的re教程,翻译自官方文档,因为官方文档写的是真...
    立而人阅读 22,982评论 4 46
  • 1 Object 对象 教程:https://wangdoc.com/javascript/stdlib/obje...
    智勇双全的小六阅读 2,023评论 0 0
  • 初衷:看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印...
    DCbryant阅读 4,060评论 0 20
  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,860评论 2 16
  • 以下是我的第3期成长周记(2017.11.6~2017.11.12) 本周金句 问题不在于思考方式有异,而是你认为...
    画圆Circle阅读 448评论 0 2