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())


  • 相关阅读:
    react 安装脚手架过程
    微信小程序-分享功能
    echarts 实现多图联动显示tooltip
    dom 相同父节点查找
    js 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果
    vue手写el-form组件
    vue组件传值、通信
    vue项目打包桌面应用 exe程序 以及打包为安装程序exe
    vue 使用echarts来制作图表
    前端数据可视化插件-图表
  • 原文地址:https://www.cnblogs.com/startl/p/11824970.html
Copyright © 2011-2022 走看看