zoukankan      html  css  js  c++  java
  • re模块----->正则表达式

    #_author:Star
    #date:2019/11/8
    #1.[]字符集
    import re
    ret=re.findall('a[c,d,e]b','aeb')
    print(ret)#aeb
    ret1=re.findall('[a-z]','axb')
    print(ret1)#['a', 'x', 'b']
    #[]字符集------>取消元字符的特殊功能 ^ -
    ret2=re.findall('[m,*]','axmb*')
    print(ret2)#['m', '*']
    ret3=re.findall('[m,,]','axmb*,')
    print(ret3)#['m', ',']
    # (1)-
    ret4=re.findall('[1-9a-zA-Z]','axmb55623GHGSJCSH,')
    print(ret4)#['a', 'x', 'm', 'b', '5', '5', '6', '2', '3', 'G', 'H', 'G', 'S', 'J', 'C', 'S', 'H']
    ret5=re.findall('[1-9,a-z,A-Z]','axmb55623GHGSJCSH,')
    print(ret5)#['a', 'x', 'm', 'b', '5', '5', '6', '2', '3', 'G', 'H', 'G', 'S', 'J', 'C', 'S', 'H', ',']
    # (2)^放在[]里意味着取反
    ret6=re.findall('[^f]','kdfjdhferw')
    print(ret6)#['k', 'd', 'j', 'd', 'h', 'e', 'r', 'w']
    ret7=re.findall('[^3,8]','kd3fjdhfe8rw')
    print(ret7)#['k', 'd', 'f', 'j', 'd', 'h', 'f', 'e', 'r', 'w']
    # (3)


    #3. |管道符

    #2. 反斜杠
    # 反斜杠后面跟元字符去除特殊功能
    # 反斜杠后面跟普通字符实现特殊功能(如下2-1,2-18)
    # (2-1) d--->匹配任何十进制数,相当于类[0,9]
    ret8=re.findall('d{11}','gdsdhjsdjsjshd2347652987178628912678')
    print(ret8)# ['23476529871', '78628912678']
    # (2-2) D--->匹配任何非数字字符,相当于类[^0,9]
    ret9=re.findall('D{11}','gdsdhjsdjsjshdokjiygdhy2347652987178628912678')
    print(ret9)#['gdsdhjsdjsj', 'shdokjiygdh']
    # (2-3) s--->匹配任何空白字符,相当于类[ dssd]
    ret10=re.findall('sstar','dgsh star')
    print(ret10)#[' star']
    # (2-4) S--->匹配任何非空白字符,相当于类[^dssd]
    ret11=re.findall('S','dgshstar')
    print(ret11)#['d', 'g', 's', 'h', 's', 't', 'a', 'r']
    ret11_=re.findall('Sstar','dgshstar')
    print(ret11_)#['hstar']
    # (2-5) w--->匹配任何字母数字字符,相当于类[a-zA-Z0-9]
    ret12=re.findall('wstar','dgshstar')
    print(ret12)#['hstar']
    ret13=re.findall('wstar','dgsh star')
    print(ret13)# []
    # (2-5) W--->匹配任何非字母数字字符,相当于类[^a-zA-Z0-9]
    ret14=re.findall('W','s$d]s@-d_m')
    print(ret14)# ['$', ']', '@', '-']
    ret15=re.findall('W[$,#]','sg$h#s$#')
    print(ret15)# ['$#']
    # (2-6) --->匹配一个特殊字符的一个边界
    ret16=re.findall(r'I','hello I am a DI,CT')
    print(ret16)# ['I', 'I']
    ret17=re.findall(r'I','hello I am a D%ICT')
    print(ret17)# ['I', 'I']
    print('--------------------------------------------')
    # 匹配出第一个满足条件的结果
    ret18=re.search('st','ihsdjwstghubustbjc')
    print(ret18) # <re.Match object; span=(6, 8), match='st'>
    print(ret18.group()) # st

    # # 反斜杠后面跟元字符去除特殊功能
    re1=re.search('a.','a.hg').group()
    print(re1)# a.
    re2=re.search('a+','a+hg').group()
    print(re2)# a+
    #第一种现象
    # 飘红有两种情况,:因为一个顶两个(1)用四个\\(2)用r'\'
    re3=re.findall('\\','ugdhsdhsc')
    print(re3)# ['\']
    re4=re.findall(r'\','ugdhsdhsc')
    print(re4)# ['\']
    #第二种现象
    re5=re.search('blue','blue')
    print(re5)# None
    re5_=re.search(r'blue','blue')
    print(re5_)# <re.Match object; span=(0, 4), match='blue'>
    print(re5_.group())# blue
    print('---------------------------')
    # 4. ()----->做分组 | 管道符 ---->或(靠前)
    print(re.search('(as)+','ggubeasas').group())# asas
    print(re.search('go|8','go').group())# go
    print(re.search('go|8','8go').group())# 8

    print('---------------------------')
    re1=re.search('(?P<id>d{3})/(?P<name>w{3})','dwdwdwdw56yy456/ppp')
    print(re1.group())# 456/ppp
    print(re1.group('id')) # 456
    print(re1.group('name'))# ppp





  • 相关阅读:
    【DSP开发技术】影响高性能DSP功耗的因素及其优化方法
    【DSP开发】帮您快速入门 TI 的 Codec Engine
    【DSP开发】帮您快速入门 TI 的 Codec Engine
    【DSP开发】德州仪器达芬奇五年之路七宗罪,嵌入式处理器架构之争决战2012
    【DSP开发】德州仪器达芬奇五年之路七宗罪,嵌入式处理器架构之争决战2012
    【DSP开发】DSP COFF 与 ELF文件
    【DSP开发】DSP COFF 与 ELF文件
    【DSP开发】CCS数据格式 load
    【DSP开发】CCS数据格式 load
    【DSP开发】CMD文件
  • 原文地址:https://www.cnblogs.com/startl/p/11818931.html
Copyright © 2011-2022 走看看