心灵鸡汤电影推荐:

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

程序的解耦

模块

正则表达式

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. ACCESS 组合字段 order by 出错

    ACCESS 组合字段 order by 出错 SELECT boardID,boardType,parentID,child,depth,rootID,(parentStr + ',' + boar ...

  2. VBS 创建快捷方式

    Dim Shell,DesktopPath,link Set Shell = CreateObject("WScript.Shell") DesktopPath = Shell.S ...

  3. k8s实战

    wget https://github.com/coreos/etcd/releases/download/v2.2.0/etcd-v2.2.0-linux-amd64.tar.gz etcd -na ...

  4. 深入剖析java的try…catch…finally语句

    一.前言 前些天参加面试的时候有一道题: public class test { public static void main(String[] args){ try { return; } fin ...

  5. c#获取本地IP和MAC地址

    1>通过wmi获取 using System; using System.Management; using System.Net; public class Program { static ...

  6. MySQL 系列(二)Jdbc

    MySQL 系列(二)Jdbc 一.Jdbc 基本操作 import java.sql.Connection; import java.sql.DriverManager; import java.s ...

  7. C++中static修饰的静态成员函数、静态数据成员

    1.静态成员函数.静态数据成员 在类中,用static修饰的成员函数被称为静态成员函数,而用static修饰的数据成员就称为静态数据成员:与普通的成员函数和数据成员不同, 静态成员函数和静态数据成员有 ...

  8. C/C++编程可用的Linux自带工具

    GNU Binary Utilities或binutils是一整套的编程语言工具程序,用来处理许多格式的目标文件.当前的版本原本由在Cygnus Solutions的程序员以Binary File D ...

  9. Codeforces 766D Mahmoud and a Dictionary 2017-02-21 14:03 107人阅读 评论(0) 收藏

    D. Mahmoud and a Dictionary time limit per test 4 seconds memory limit per test 256 megabytes input ...

  10. SOCK开发之---TCP/IP简介

    在开发通信程序之前,都要先确定这些程序相互通信所使用的协议(protocol),在深入设计前,我们都需要先从高层次来判断通信由哪个程序发起以及相应在何时产生. 举例来说,一般认为web服务器是一个长时 ...