美文网首页
day18 正则函数以及pygame

day18 正则函数以及pygame

作者: _最美不是下雨天_ | 来源:发表于2019-01-16 17:24 被阅读0次

    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}'
    

    相关文章

      网友评论

          本文标题:day18 正则函数以及pygame

          本文链接:https://www.haomeiwen.com/subject/zeomdqtx.html