• python re示例


    #!/usr/bin/env python 
    # encoding: utf-8
    # Date: 2018/5/25
    import re

    s = '124311200111155214'
    ss = re.search('(?P<province>d{3})(?P<city>d{3})(?P<born_year>d{4})',s).groups()
    print(ss) # ('124', '311', '2001')
    ss1 = re.search('(?P<province>d{3})(?P<city>d{3})(?P<born_year>d{4})',s)
    print(ss1.groupdict()) # {'province': '124', 'city': '311', 'born_year': '2001'}

    # split
    s_sp = 'alex22jack23rain31jinxin50'
    s_sp1 = re.split('d',s_sp)
    print(s_sp1) # ['alex', '', 'jack', '', 'rain', '', 'jinxin', '', '']

    s_sp2 = re.split('d+',s_sp)
    print(s_sp2) #['alex', 'jack', 'rain', 'jinxin', '']
    s_sp3 = re.findall('d+',s_sp)
    print(s_sp3) #['22', '23', '31', '50']

    s3 = 'alex22jack23rain31jinxin50#mack-oldboy'
    s31 = re.split('d+|#|-',s3)
    print(s31) # ['alex', 'jack', 'rain', 'jinxin', '', 'mack', 'oldboy']

    s4 = 'alex22jack23rain31jinxin50|mack-oldboy'
    s41 = re.split('d+|||-',s4)
    print(s41) # ['alex', 'jack', 'rain', 'jinxin', '', 'mack', 'oldboy']

    s5 = 'sss\123'
    s51 = re.split('\\',s5)
    print(s51) # ['sss', '123']

    # sub 替换
    s6 = 'alex22jack23rain31jinxin50|mack-oldboy'
    s61 = re.sub('d+', '_', s6)
    print(s61) # alex_jack_rain_jinxin_|mack-oldboy
    s62 = re.sub('d+', '_', s6, count=2)
    print(s62) # alex_jack_rain31jinxin50|mack-oldboy

    s7 = '9-2*5/3+7/3*99/4*2998+10*568/14'
    s71 = re.split('[-*/+]', s7)
    print(s71) # ['9', '2', '5', '3', '7', '3', '99', '4', '2998', '10', '568', '14']

    s72 = re.split('[-*/+]', s7, maxsplit=2)
    print(s72) # ['9', '2', '5/3+7/3*99/4*2998+10*568/14']

    # fullmatch compile compile为了提高效率
    pattern = re.compile('w+@w+.(com|cn|edu)')
    print(pattern.fullmatch('alex@oldboyedu.cn')) # <_sre.SRE_Match object; span=(0, 17), match='alex@oldboyedu.cn'>

    # 计算器
    s8 = '1-2*((60-30+(-40/5)*(9-2*5/3 + 7/3*99/4*2998 + 10*568/14)) - (-4*3)/(16-3*2))'

    s81 = re.search('([^()]+)', s8)
    print(s81) # <_sre.SRE_Match object; span=(12, 19), match='(-40/5)'>
    s82 = re.findall('([^()]+)', s8)
    print(s82) # ['(-40/5)', '(9-2*5/3 + 7/3*99/4*2998 + 10*568/14)', '(-4*3)', '(16-3*2)']




  • 相关阅读:
    mysql 日志
    mysql 事务中的锁
    mysql 事务的日志
    mysql 核心事务特性
    mysql 断电导致表打不开解决方案
    mysql 数据库逻辑升级
    mysql innodb存储引擎的表空间
    IDEA常用代码模板
    springcloud-GateWay常用的Predicate
    springcloud-GateWay配置动态路由
  • 原文地址:https://www.cnblogs.com/fmgao-technology/p/9091243.html
Copyright © 2020-2023  润新知