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

    #_author:Administrator
    #date:2019/11/9
    #前面的 * + ? 都是贪婪匹配,如果要最少匹配的话,则在后面加 ?
    import re
    #1.贪婪匹配
    ret=re.findall('star*','starrrrrr')
    print(ret)# ['starrrrrr']
    #2.惰性匹配
    ret1=re.findall('star*?','starrrrrr')
    print(ret1)# ['sta']
    # 3 [] 字符集补充
    ret2=re.findall('a[cd]b','acdb')
    print(ret2)# [] 因为 c 和 d之间是或者的关系,只能取一个

    ret3=re.findall('a[c,d]b','a,b')
    print(ret3)# ['a,b']
    #4.命名分组,组之间可以用任何符号代替
    ret4=re.search('(?P<name>w{2})/(?P<age>d{2})','gsjsd/67js9')
    print(ret4.group()) # sd/67
    print(ret4.group('age'))# 67
    print(ret4.group('name')) # sd
    # 5.
    ret5=re.findall('www.w+.com','www.jingdong.com')
    print(ret5)# ['www.jingdong.com']

    ret5_=re.findall('www.(w+).com','www.jingdong.com')
    print(ret5_)# ['jingdong'] findall() 只会把匹配到的组里面的内容取出来
    # ?: 取消组的优先级

    ret6=re.findall('www.(?:w+).com','www.jingdong.com')
    print(ret6) # ['www.jingdong.com']
    # 6.sub()
    ret7=re.sub('d','star','jjsdbs8cbsjds9bjjsnj2fds')
    print(ret7)# jjsdbsstarcbsjdsstarbjjsnjstarfds
    ret8=re.sub('d','star','1s466c7',1)# 后面加数字代表前面多少个进行替换
    print(ret8) # stars466c7
    #7.subn() 会返回替换了多少次
    ret9=re.subn('d','asd','sh8sd6sds7smm3ssx')
    print(ret9)# ('shasdsdasdsdsasdsmmasdssx', 4)
    #8.finditer()
    ret10=re.finditer('d','sdjs7sdvhsb8sbs2bsnmxs9j')# ret10为一个迭代器
    print(ret10)# <callable_iterator object at 0x01037490>
    print(next(ret10).group())
    print(next(ret10).group())
    print(next(ret10).group())
    print(next(ret10).group())


  • 相关阅读:
    “耐撕”团队 2016.3.25 站立会议
    “耐撕”团队 2016.03.24 站立会议
    “耐撕”团队 2016.3.22 站立会议
    windows环境下的git安装及使用
    词频统计(三)
    第二周作业
    Unity之GUI控件
    Lua的协同程序(coroutine)
    Lua与C++的交互
    Lua的元方法__newindex元方法
  • 原文地址:https://www.cnblogs.com/startl/p/11824970.html
Copyright © 2011-2022 走看看