心灵鸡汤电影推荐:

阿甘正传、辛德勒名单、肖申克的救赎、勇敢的心、角斗士、美国丽人、教父、钢琴师、指环王、西雅图不眠夜、廊桥遗梦、可可西里的美丽传说、放牛班的春天、血钻、战争之王、上帝之城、中央车站、猜火车、低俗小说、华尔街之狼

程序的解耦

模块

正则表达式

import re

re.match('','')全匹配

re.search('','')任意部分匹配

re.findall('','')查所有

re.split('','') 分割

re.sub('','','')  替换  re.sub('[0-9]+','|',"adfadf12131adfas13f1ds3f13a")

正则表达式特殊符号意义:

‘.’  默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行

‘^’  匹配字符开头,若指定flag MULTILINE,这种也可以匹配上(r"^a","\nabc\neee",flags=re.MULTILINE)

'$'  匹配字符结尾,另同上

'*'  匹配*前的字符0次或多次  re.findall(“ab*”,"cabb3abcbbac")  结果为["abb","ab","a"]

'+'  匹配前一个字符1次或多次  re.findall("ab+","ab+cd+abb+bba")  结果为["ab","abb"]

'?'  匹配前一个字符1次或0次  

‘{m}’  匹配前一个字符m次

‘{n,m}’  匹配前一个字符n到m次  re.findall("ab{1,3}","abb abc abbcbbb")  结果为['abb','ab','abb']

'|'  匹配|左或|右的字符,re.search("abc|ABC","ABCBabcCD").group()  结果为“ABC”

‘(...)’  分组匹配  re.search("(abc){2}a(123|456)c",“abcabca456c””).group()  结果 abcabca456c

'\A'  只从字符开头匹配,  re.search("\Aabc","alexabc")  结果是匹配不到的

'\Z'  匹配字符结尾,同$

'\d'  匹配数字0-9

‘\D’  匹配非数字

'\w'  匹配[A-Za-z0-9]

'\W'  匹配非[A-Za-z0-9]

'\s'  匹配空白字符、\t、\n、\r,re.search("\s+","ab\tc1\n3").group()  结果为  ’\t

匹配反斜杠的困扰:

特殊标记的含义:

  flags=re.I  忽略大小写

  flags=re.M 表示将字符串视为多行,从而^匹配每一行的行首,$匹配每一行的行尾

  flags=re.S  表示.的作用包括换行符  

  import re

  a = '''asdfsafhellopass: 234455 worldafdsf '''

  b = re.findall('hello(.*?)world',a)

  c = re.findall('hello(.*?)world',a,re.S)

  print 'b is ' , b

  print 'c is ' , c

  运行结果如下:

  b is []

  c is ['pass:\n\t234455\n\t']

  作业:自己写一个计算器,要求将一个字符串形式的公式放进去,直接能算出结果来,整个计算器的优先级、加减乘除运算都要自己写代码去完成。

  

Python3.5 学习五的更多相关文章

  1. 【Mac + Appium + Python3.6学习(五)】之常用的Android自动化测试API总结

    Github测试样例地址:https://github.com/appium-boneyard/sample-code/tree/master/sample-code/examples ①定位text ...

  2. python3.4学习笔记(二十五) Python 调用mysql redis实例代码

    python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...

  3. python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

    python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...

  4. python3.4学习笔记(五) IDLE显示行号问题,插件安装和其他开发工具介绍

    python3.4学习笔记(五) IDLE显示行号问题,插件安装和其他开发工具介绍 IDLE默认不能显示行号,使用ALT+G 跳到对应行号,在右下角有显示光标所在行.列.pycharm免费社区版.Su ...

  5. python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法

    python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法window安装redis,下载Redis的压缩包https://git ...

  6. python3.4学习笔记(四) 3.x和2.x的区别,持续更新

    python3.4学习笔记(四) 3.x和2.x的区别 在2.x中:print html,3.x中必须改成:print(html) import urllib2ImportError: No modu ...

  7. python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容

    python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容 Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖 ...

  8. python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息,抓取政府网新闻内容

    python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI,采用Python语言编写 ...

  9. python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例

    python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...

随机推荐

  1. c++类对象 指针区别

    class Test{ public: int a; Test(){ a = ; } }; int main1() { Test* t1 = new Test(); t1->a = ; Test ...

  2. JVM知识点精华汇总

    本文是学习了<深入理解Java虚拟机>之后的总结,主要内容都来自于书中,也有作者的一些理解.一是为了梳理知识点,归纳总结,二是为了分享交流,如有错误之处还望指出.(本文以jdk1.7的规范 ...

  3. 实现JNI的另一种方法:使用RegisterNatives方法传递和使用Java自定义类 (转)

    原帖地址:http://blog.csdn.net/qiuxiaolong007/article/details/7860610 除了使用传统方法实现JNI外,也可以使用RegisterNatives ...

  4. Git----远程仓库之添加远程库02

    现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub上创建一个Git库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举 ...

  5. Memcpy, blockcopy的进一步理解

    using System; using System.Runtime.InteropServices; using System.IO; namespace tx { struct ST { publ ...

  6. final关键字的简单理解

    final可以修饰类,方法,变量. 1.final修饰的类,不可以被继承. 2.final修饰方法,可以把方法锁定,以防任何继承类修改它的含义. 3.fianl修饰的变量,如果是基本数据类型的变量,则 ...

  7. 7-linux-Centos7安装python3并与python2共存

    转载自:https://www.cnblogs.com/JahanGu/p/7452527.html linux-Centos7安装python3并与python2共存   1.查看是否已经安装Pyt ...

  8. Android系统编译与测试

    1.Android系统分析 2.下载Android源代码(不包括Linux内核部分) 下载好了的Android_5.01.tar.gz,通过samba复制到ubuntu里,再解压之. 可以看到Andr ...

  9. C# Redis Server分布式缓存编程(二)(转)

    出处;http://www.cnblogs.com/davidgu/p/3263485.html 在Redis编程中, 实体和集合类型则更加有趣和实用 namespace Zeus.Cache.Red ...

  10. 8.7 正确使用索引(no)

    一 索引未命中 并不是说我们创建了索引就一定会加快查询速度,若想利用索引达到预想的提高查询速度的效果,我们在添加索引时,必须遵循以下问题 1 范围问题,或者说条件不明确,条件中出现这些符号或关键字:& ...