day22、模块-basedir、os、json模块、pickle和正则模块。
四、正则、
re模块:
作用:针对的对象:字符串,
课前引入:
例子一、
- s='dsdsadsadadsalexdsds'
s.find('alex')
如何找到字符串内部的alex;?过去学习可使用方法:find、split、replace.但是字符串内置的方法很局限,只能实现完全匹配。
如果要找到:与a**开头的需求呢?就无法实现。要实现模糊匹配就得用到模糊匹配。
例子二、模糊匹配
- #在文本里面存着一堆身份证
- 4504231989347382822
- 1104231989347382822
- 1104231992347382822
- 1104231995347382822
- .....
- #需求:找到北京市1990以后出身的人
- ^110......1990+*
找到一堆字符串里面的数字:
正则本质上是一种小型的,高度专业化的编程语言。(python)中内嵌在python中,并通过re模块来实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。
字符匹配:(普通字符、元字符)
普通字符:大多数字符和字母都会和自身匹配
- import re
- print(re.findall('alex','dsfjdsfldsjfdalexdsds'))
- >>>
- ['alex']
元字符:. ^ $ * + ?{} [] | () \
字符讲解:
1⃣️通配符 '.’
- import re
- print(re.findall('a..x','dsfjdsfldsjfdalexdsds'))
- >>>
- ['alex']
2⃣️、尖角号:^ 以什么开头。在字符串的开头进行匹配。如果符合要求匹配成功。
- import re
- print(re.findall('^d..j','dsfjdsfldsjfdalexdsds'))
- >>>
- ['dsfj']
3⃣️、$ 符号 以什么结尾,
- import re
- print(re.findall('d..s$','dsfjdsfldsjfdalexdsds'))
- >>>>
- ['dsds']
重复符号:
4⃣️、* (0,∞) D*按照紧挨着的字符进行无穷次→贪婪匹配,
- import re
- print(re.findall('d*','dsfjdsflddddddddddsjfdalexdsds'))
- >>>
- ['d', '', '', '', 'd', '', '', '', 'dddddddddd', '', '', '', 'd', '', '', '', '', 'd', '', 'd', '', '']
- import re
- print(re.findall('^d*','dsfjdsflddddddddddsjfdalexdsds'))
- >>
- ['d']
day22、模块-basedir、os、json模块、pickle和正则模块。的更多相关文章
- 常用模块(random,os,json,pickle,shelve)
常用模块(random,os,json,pickle,shelve) random import random print(random.random()) # 0-1之间的小数 print(rand ...
- python 模块二(os,json,pickle)
#################################总结##################### os常用 os.makedirs('baby/安哥拉/特斯拉/黄晓明') os.mkd ...
- day16 常用模块 sys os json pickle
知识点 os:和操作系统相关sys:和解释器相关 json:和操作JSON(一种数据交换格式)相关pickle:序列化 hashlib:加密算法Collections:集合类型 ...
- 第九节:os、sys、json、pickle、shelve模块
OS模块: os.getcwd()获取当前路径os.chdir()改变目录os.curdir返回当前目录os.pardir()父目录os.makedirs('a/b/c')创建多层目录os.remov ...
- python json、 pickle 、shelve 模块
json 模块 用于序列化的模块 json,用于字符串 和 python数据类型间进行转换 Json模块提供了四个功能:dumps.dump.loads.load #!/usr/bin/env pyt ...
- CSIC_716_20191118【常用模块的用法 Json、pickle、collections、openpyxl】
序列化模块 序列化:将python或其他语言中的数据类型,转变成字符串类型. python中的八大数据类型回顾:int float str list tuple dict set bool 反序列化: ...
- (十四)json、pickle与shelve模块
任何语言,都有自己的数据类型,那么不同的语言怎么找到一个通用的标准? 比如,后端用Python写的,前端是js,那么后端如果传一个dic字典给前端,前端肯定不认. 所以就有了序列化这个概念. 什么是序 ...
- os常用模块,json,pickle,shelve模块,正则表达式(实现运算符分离),logging模块,配置模块,路径叠加,哈希算法
一.os常用模块 显示当前工作目录 print(os.getcwd()) 返回上一层目录 os.chdir("..") 创建文件包 os.makedirs('python2/bin ...
- 023--python os、sys、json、pickle、xml模块
一.os模块 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 >>> os.getcwd() 'C:\\Python36' os.chdir(&quo ...
随机推荐
- Excel 改变列表头显示方式, Excel显示列数字
'显示数字列号 Sub showCellNumber() Application.ReferenceStyle = xlR1C1 End Sub '显示字母列号 Sub showCellZimu() ...
- java 接口
1.接口的引出:发现没有继承关系的类也能共享行为 2.接口不是类,类描述对象的属性和行为,但是接口只关注实现的行为3.当我们发现有行为在多个没有继承关系的类中共享,我们要把它抽取到接口中,而不是写到父 ...
- Android开源控件PhotoView的使用
整体来说,它是一个更高级的ImageView,支持缩放,多点触控缩放,滚动和滑动,单机,长按等事件: PhotoView的git托管地址:https://github.com/chrisbanes/P ...
- strlen 字符型数组和字符数组 sizeof和strlen的区别 cin.get(input,Arsize)
strlenstrlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值 ...
- Watin 杂谈
Web自动化测试(三)[弹出窗口处理] http://blog.csdn.net/cctv_hu/article/details/5984373 http://www.cyqdata.com/cnbl ...
- ubuntu安装rpm包
ubuntu下的rpm包的安装方法 一般是不能够直接安装的,我们需要一个工具叫alien,先install它吧.然后按照下面择所需. 1.直接安装: alien -i -c filename.rpm ...
- Lae程序员小漫画(二),仅供一乐
Lae软件开发,快乐程序员!
- iOS里防止按钮被多次点击的办法
原理:利用局部变量生存期局限在当前函数或者当前代码块的原理,实现C++里AutoLock的概念,其实也就是智能指针的概念. 利用局部变量在创建时执行按钮的setEnable为NO,在函数结束,且无bl ...
- SQL中跨服务器查询
1.跨库查询 select * from [库名].dbo.表名 2.跨库查询 select * from OPENDATASOURCE('SQLOLEDB','Data Source=服务器名或IP ...
- myeclipse打war包时,报错security alert integrity check error
今天在用myeclipse打包项目时,出现如下图的提示: 在网上查找了一下原因,主要是由于Jar包不符合所导致的.解决办法如下: 将com.genuitec.eclipse.export.wizard ...