#!/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. shell 判断文件是否是可执行文件

    测试变量指定的文件是否存在且是可执行文件.如果存在且是可执行文件,则执行该文件,否则通过chmod命令赋予该文件可执行权限. //test.sh #!/bin/bash echo "ente ...

  2. Qt532_QWebView做成DLL供VC/Delphi使用_Bug

    Qt5.3.2 vs2010 OpenGL ,VC6.0,Delphi7 1.自己继承 类QWebView,制作成DLL 供 VC6/Delphi7 使用 2.测试下来,DLL供VC6使用: 加载&q ...

  3. 【测试设计】性能测试工具选择:wrk?jmeter?locust?还是LR?

    原文链接:http://www.51testing.com/html/49/n-3721249.html 前言 当你想做性能测试的时候,你会选择什么样的测试工具呢?是会选择wrk?jmeter?loc ...

  4. linux挂载windows共享文件夹出错,提示mount error(13): Permission denied

    完整的可以工作的命令行: mount -v -t cifs -o username=clouder,password=123456,iocharset=utf8,sec=ntlm //172.28.1 ...

  5. hdu3951巴什博弈变型

    参考博客:http://blog.csdn.net/sun897949163/article/details/50609070 特判一下m=1的情况,然后m!=1时,无论对手取多少,我只要取的让这条链 ...

  6. 124. Binary Tree Maximum Path Sum *HARD* -- 二叉树中节点和最大的路径的节点和

    Given a binary tree, find the maximum path sum. For this problem, a path is defined as any sequence ...

  7. java并发编程:线程安全管理类--原子包--java.util.concurrent.atomic

    java.util.concurrent.atomic 的描述 AtomicBoolean 可以用原子方式更新的 boolean 值. AtomicInteger 可以用原子方式更新的 int 值. ...

  8. LINUX创建管道文件

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  9. 【LeetCode 222_完全二叉树_遍历】Count Complete Tree Nodes

    解法一:递归 int countNodes(TreeNode* root) { if (root == NULL) ; TreeNode *pLeft = root->left; TreeNod ...

  10. mysql数据添加时如果这条数据存在进行修改

    1.建表 CREATE TABLE vipMovie( id INT PRIMARY KEY AUTO_INCREMENT, md_name VARCHAR(255) NOT NULL UNIQUE, ...