Python3.5 学习五
心灵鸡汤电影推荐:
阿甘正传、辛德勒名单、肖申克的救赎、勇敢的心、角斗士、美国丽人、教父、钢琴师、指环王、西雅图不眠夜、廊桥遗梦、可可西里的美丽传说、放牛班的春天、血钻、战争之王、上帝之城、中央车站、猜火车、低俗小说、华尔街之狼
程序的解耦
模块
正则表达式
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 学习五的更多相关文章
- 【Mac + Appium + Python3.6学习(五)】之常用的Android自动化测试API总结
Github测试样例地址:https://github.com/appium-boneyard/sample-code/tree/master/sample-code/examples ①定位text ...
- python3.4学习笔记(二十五) Python 调用mysql redis实例代码
python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...
- python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...
- python3.4学习笔记(五) IDLE显示行号问题,插件安装和其他开发工具介绍
python3.4学习笔记(五) IDLE显示行号问题,插件安装和其他开发工具介绍 IDLE默认不能显示行号,使用ALT+G 跳到对应行号,在右下角有显示光标所在行.列.pycharm免费社区版.Su ...
- python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法
python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法window安装redis,下载Redis的压缩包https://git ...
- python3.4学习笔记(四) 3.x和2.x的区别,持续更新
python3.4学习笔记(四) 3.x和2.x的区别 在2.x中:print html,3.x中必须改成:print(html) import urllib2ImportError: No modu ...
- python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容
python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容 Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖 ...
- python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息,抓取政府网新闻内容
python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI,采用Python语言编写 ...
- python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例
python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...
随机推荐
- mysql 删除死锁的事务
select * from information_schema.innodb_trxkill 953
- 迷你MVVM框架 avalonjs 1.3.1发布
avalon1.3.1发布. interpolate支持注释节点做定界符,avalon.config({interpolate:["<!--","-->&qu ...
- linux主机名
[linux主机名] 1.查看主机名 主机名即是一台主机的名字,在终端窗口中输入命令:hostname或uname –n,均可以查看到当前主机的主机名. 2.临时修改主机名 命令行下运行命令:“hos ...
- S导入部门数据 更新父部门、责任人
导入部门数据分两步骤,EXCEL模板可以一样 一.导入部门主数据,导入时选择INSERT (注意以下还有问题,父区域会自动带出一个值) [Public] ConnectString=host=&quo ...
- NPOI工具类
NPOI调用方法 DataTable dt = new DataTable(); Dictionary<string, string> header = new Dictionary< ...
- python3菜鸟教程
http://www.runoob.com/python3/python3-class.html
- 流形学习 (Manifold Learning)
流形学习 (manifold learning) zz from prfans............................... dodo:流形学习 (manifold learning) ...
- Python爬虫利器六之PyQuery的用法
前言 你是否觉得 XPath 的用法多少有点晦涩难记呢? 你是否觉得 BeautifulSoup 的语法多少有些悭吝难懂呢? 你是否甚至还在苦苦研究正则表达式却因为少些了一个点而抓狂呢? 你是否已经有 ...
- oracle存储过程和游标参考
oracle open cursor forhttp://www.itpub.net/thread-1874683-1-1.html
- asp.net core 1.1 mysqlsugarCore mysql.data 要 7.0.5.0
Message=Could not load file or assembly 'MySql.Data, Version=7.0.5.0, Culture=neutral, PublicKeyToke ...