• re 方法


    import re
    print(re.findall('e','he she looe'))         #找'e',找到3个
    print(re.search('e','he she love'))          #找'e',找到第一个就返回,默认返回NOne
    print(re.search('e','he she love').group())   #显示,返回找到的e
    print(re.match('e','e she love'))         #找是不是以’e‘开头,找到第一个就停止
    print(re.match('e','e she love').group())
    
    ['e', 'e', 'e']
    <_sre.SRE_Match object; span=(1, 2), match='e'>
    e
    <_sre.SRE_Match object; span=(0, 1), match='e'>
    e
    
    print(re.split('a','cdabv'))       #按’a‘分割,等于a是分隔符
    print(re.split('[ab]','cdanbv')) #先按a 分割得到cd nbv 再按b分割,得到cd n v

    ['cd', 'bv']
    ['cd', 'n', 'v']

    print(re.sub('a','A','aa ha'))
    print(re.sub('a','A','aa ha',1))
    print(re.findall('a.*?b','b ab abb abbbb annbnnbbbbbbb')) #a.*?b===就是返回a,b之间最短的那个
    print('===>',re.sub('^(w+)(.*?s)(w+)(.*?s)(w+)(.*?s)$',r'52325','wes@@@hehe@ww'))
    1 2 3 4 5 6
                  a .*? b
                     @@@

    AA hA
    Aa ha
    ['ab', 'ab', 'ab', 'annb']
    ===> wes@@@hehe@ww

    print(re.subn('a','A','aa ha',1)) #1,代表值替换一个
    ('Aa ha', 1) #表示替换了一个
     
    obj=re.compile('d{2}')       #等于自定义了一个pattern
    print(obj.findall('abc123hhh')) #此obj 有re的所有方法
    print(obj.search('af23df').group())

    ['12']
    23

    
    
    print(re.search('(d)+','123').group()) #group的作用是将所有组拼接到一起显示出来
    print(re.findall('(d)+','123')) #findall结果是组内的结果,且是最后一个组的结果

    123
    ['3']

    #为何同样的表达式search与findall却有不同结果:
    print(re.search('(  ([+-*/]*d+.?d*)   +  )',"1-12*(60+(-40.35/5)-(-4*3))").group()) #(-40.35/5)

    #pattern:1.有括号,2 分组 3[+,-,*,/]*有多个运算符 d+ 多个数字 一个小数点或者没有 d* 多个数字或者没有 +多个分组等于最后要拼接

    1.先找到一个括号
    2.此括号内找到第一个分组(-40.35)
    3.此括号内第二个分组(/5)
    4.返回结果(-40.35/5)拼接两个分组
    5结束,不再找下一个括号 print(re.findall('(([+-*/]*d+.?d*)+)',"1-12*(60+(-40.35/5)-(-4*3))")) #['/5', '*3']

    1.先找到第一个括号(-40.35/5)的
    2.此括号内第一个分组(-40.35)
    3第二个(/5)
    4.只返回第二个分组
    5.在找到第二个括号(-4×3)的
    6.此括号内第一个分组(-4)
    7.此括号内第二个分组(×3)
    8返回第二个分组(×3)
    结束
     
  • 相关阅读:
    llinux文件相关指令
    移除元素【数组专题】
    移动零【数组专题】
    删除数组中重复的元素plus【数组专题】
    TCP超时重传时间的选择
    linux帮助指令
    各种缩写
    MyEclipse开发WebService教程(转)
    RMI 自己创建的 过程
    RMI简单实例 (转)
  • 原文地址:https://www.cnblogs.com/wuxi9864/p/9927047.html
Copyright © 2020-2023  润新知