#!/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)']

python re示例的更多相关文章

  1. python selenium2示例 - 生成 HTMLTestRunner 测试报告

    前言 在python selenium2自动化测试过程中,一个合适的报告是必须的,而HTMLTestRunner模块为我们提供了一个很好的报告生成功能. 什么是HTMLTestRunner HTMLT ...

  2. 2018-06-29 "西游记"主题Python入门示例尝试-数据结构 5.1-5.1.2

    (见前: 中文代码示例视频演示Python入门第五章 数据结构 仍然基于官方文档, 欢迎建议(尤其是如何取材). 5. Data Structures - More on Lists 列表详述 > ...

  3. redis sentinel 高可用(HA)方案部署,及python应用示例

    redis sentinel(哨兵)高可用集群的部署方法,并通过 python 程序实例讲解如何使用 redis sentinel 简介 介绍 redis sentinel(哨兵)集群的部署,配置一主 ...

  4. python selenium2示例 - 日志管理

    logger继承图 前言 在自动化测试实践过程中,必不可少的就是进行日志管理,方便调试和生产问题追踪,python提供了logging模块来进行日志的管理.下面我们就logging模块的学习和使用进行 ...

  5. python selenium2示例 - email发送

    前言 在进行日常的自动化测试实践中,我们总是需要将测试过程中的记录.结果等等等相关信息通过自动的手段发送给相关人员.python的smtplib.email模块为我们提供了很好的email发送等功能的 ...

  6. python发送邮件 示例

    示例1 import smtplib from email.mime.text import MIMEText from email.header import Header def sedmail( ...

  7. 多元统计之因子分析模型及Python分析示例

    1. 简介 因子分析是一种研究观测变量变动的共同原因和特殊原因, 从而达到简化变量结构目的的多元统计方法. 因子分析模型是主成分分析的推广, 也是利用降维的思想, 将复杂的原始变量归结为少数几个综合因 ...

  8. python 线性回归示例

    说明:此文的第一部分参考了这里 用python进行线性回归分析非常方便,有现成的库可以使用比如:numpy.linalog.lstsq例子.scipy.stats.linregress例子.panda ...

  9. Python爬虫示例

    #!/usr/bin/python #coding:utf8 import re import urllib def gethtml(url): page=urllib.urlopen(url) ht ...

  10. python 多线程示例

    原文链接:http://www.cnblogs.com/whatisfantasy/p/6440585.html 1 概念梳理: 1.1 线程 1.1.1 什么是线程 线程是操作系统能够进行运算调度的 ...

随机推荐

  1. python 随机整数

    # Program to generate a random number between and # import the random module import random print(ran ...

  2. 使用git bush 生成github SSH公钥

    1 如果没有安装ssh,那么使用下面的指令 sudo apt-get install ssh 2 检查SSH公钥 cd ~/.ssh 看看存不存在.ssh,如果存在的话,掠过下一步:不存在的请看下一步 ...

  3. Java 集合-Map接口和三个子类实现

    2017-10-31 22:05:59 Map 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. HashMap是基于散列表实现的,插入.删除和定位元素时间复杂度平均能达到O ...

  4. Linux Mint 18.1安装nvidia驱动

    硬件环境:Dell Inspiron 7557笔记本(i7,8G,GTX960M) 软件环境:Linux Mint 18.1(基于Ubuntu 16.04) 问题描述: Linux Mint 18.1 ...

  5. MyBatis案例&增删改查

    一.MyBatis入门案例: ①:引入jar包 ②:创建实体类 Dept,并进行封装 ③ 在Src下创建大配置mybatis-config.xml <?xml version="1.0 ...

  6. LINUX QQ

    查询龙井QQ http://www.longene.org/forum/viewtopic.php?f=6&t=4700

  7. vue触底,触顶事件

    data(){ return{ songList: [], //歌单列表 totalPage: "", total: "", pageSize: 10, thi ...

  8. java 生成xml文件

    这里也使用的是import org.w3c.dom.Document; 首先创建document对象,给该对象赋值,然后将document对象使用transformer的transformer转换方法 ...

  9. es6 中的generator函数控制流程

    Generator函数跟普通函数的写法有非常大的区别: 一是,function关键字与函数名之间有一个星号: 二是,函数体内部使用yield语句,定义不同的内部状态(yield在英语里的意思就是“产出 ...

  10. Linux 进程、线程运行在指定CPU核上

    /******************************************************************************** * Linux 进程.线程运行在指定 ...