zoukankan      html  css  js  c++  java
  • re模块

    常用函数:
      import re
        re.findall()     :(正则,str)匹配str中所有符合正则的字符串并以列表返回
        re.search()      :(正则,str)匹配str中第一个符合规则的字符串返回结果集(没有则为None),用.group()取值(没有则报错)
        re.match()       :(正则,str)开头匹配str中符合正则的字符串返回结果集(没有则为None),用.group()取值(没有则报错),可以直接用re.search(^正则,str)取代
    
        re.finditer()   :(正则,str)匹配str中所有符合正则的字符串并返回一个迭代器,迭代器元素为结果集,用.group()取值节约内存
    
        re.compile()    :(正则)编译正则表达式,返回值可以多次使用,上述匹配规则函数均可使用:par=re.compile("[1-9]{10}");par.findall(str)节省时间
    
        re.sub()        :(正则,newStr,str,count)匹配str中符合正则的count个字符串并用newStr替换,返回替换后的字符串
        re.subn()       :(正则,newStr,str)匹配str中符合正则的字符串并用newStr替换,返回替换后的字符串和个数组成的元组
        re.split()      :(正则,str)匹配str中符合正则的字符串并以此分割成列表
    
    
    
    分组优先显示:()[取消分组优先直接在()前边加上(?: )即可]
        findall中:
            par=re.compile(">.*<")
            ret=par.findall(r"<h1>hahaha<h1>")
            print(ret)     # ['>hahaha<']
    
            par=re.compile(">(.*)<")
            ret=par.findall(r"<h1>hahaha<h1>")
            print(ret)     #['hahaha']
        split()中:
            ret=re.split("d+","23nihao34kili2290")
            print(ret)  # ['', 'nihao', 'kili', '']
    
            et=par.split("(d+)","23nihao34kili2290")
            print(ret)  # ['', '23', 'nihao', '34', 'kili', '2290', '']
    
        search()中(不受影响,但可以分组命名或按索引取值(从1开始)):
            ret = re.search(r'<w+>w+<\w+>',r'<title>qqxing<	itle>')
            分组不影响:
            ret = re.search(r'<(w+)>(w+)<\(w+)>',r'<title>qqxing<	itle>')
            print(ret.group(0))  # <title>qqxing<	itle>不受到分组的影响默认为
            print(ret.group(1))  #title
            print(ret.group(2))  #qqxing
    
            分组命名:
            ret = re.search(r'<(?P<ti>w+)>(?P<content>w+)<\(w+)>',r'<title>qqxing<	itle>')
            print(ret.group())
            print(ret.group("ti"))#title
            print(ret.group("content"))  #qqxing
    
            分组命名并引用:
            ret = re.search('<(?P<tag>w+)>.*</(?P=tag)>','<h1>wahaha</h2></h1></h3>')
            print(ret.group()) #<h1>wahaha</h2></h1>
  • 相关阅读:
    Springboot + Mybatis 多数据源配置
    构建微服务:Spring boot 入门篇
    IDEA SpringBoot代码修改热部署/加载
    vue-cli知识点
    vuex知识点
    正则基本知识
    多行SQL语句拼成一条数据
    软件的版本控制
    ASP.NET 表单验证实现浅析
    建造者模式
  • 原文地址:https://www.cnblogs.com/open-yang/p/11304393.html
Copyright © 2011-2022 走看看