#!/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. hiho一下 第二周 trie树

    Trie树 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路 ...

  2. Flyweight(享元)

    意图: 运用共享技术有效地支持大量细粒度的对象. 适用性: 一个应用程序使用了大量的对象. 完全由于使用大量的对象,造成很大的存储开销. 对象的大多数状态都可变为外部状态. 如果删除对象的外部状态,那 ...

  3. 用PendingIntent传送数据丢失解决办法

    当要设置一个闹钟时,可以把数据放在Intent里,再用intent对象生成一个PendingIntent对象,然后用AlarmManager 来邦定PendingIntent对象设置闹钟,具体代码如下 ...

  4. hive row_number等窗口分析函数

    一.排序&去重分析 row_number() over(partititon by col1 order by col2) as rn 结果:1,2,3,4 rank() over(parti ...

  5. js做小数运算精度问题

    当js做小数运算时存在bug,大概是因为二进制和十进制转换之间的关系. bug如图 解决方案 1.运算结果后,乘以100再除以100.网上推荐这种方法但是乘以1000再除以1000依然存在精度问题 2 ...

  6. TTL的具体含义

    TTL(Time To Live)生存时间值,在IP数据包从源到目的的整个转发路径上,每经过一个路由器,路由器都会修改这个TTL字段值,具体的做法是把该TTL的值减1,然后再将IP包转发出去.如果在I ...

  7. 基于Oracle的SQL优化(崔华著)-学习笔记

    201704171025 01. 列rows记录的就是执行计划中每一个执行步骤所对应的Cardinality的值 列Cost(%CPU)记录的就是执行计划中的每一个执行步骤对应的成本 02. Comp ...

  8. 个人知识管理系统Version1.0开发记录(09)

    MyBatis初试 MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.   运用Mybatis框 ...

  9. 关于app

    刷新功能的话只需要在前端重新调用一下原来的方法即可

  10. 【hive】cube和rollup函数

    cube 数据立方体(Data Cube),是多维模型的一个形象的说法.(关于多维模型这里不讲述,在数据仓库设计过程中还挺重要的,有兴趣自行查阅) 立方体其本身只有三维,但多维模型不仅限于三维模型,可 ...