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 ...
随机推荐
- soj1001算法分析
题目简单描述: 给定一个长数串,输出可能的字母串解个数.(A对应1,Z对应26) 样例输入:25114 样例输出:6 样例解释:可能的字母串解:YJD.YAAD.YAN.BEJD.BEAAD.BEAN ...
- JS小总结
今天看了一下js的部分总结了一下 函数的定义首先是命名函数function funcName函数还有匿名函数 var funcName = function()普通函数和匿名函数在调用上基本没有什么区 ...
- SE Homework 1 —An Error Impressed Me
在对两个对象进行比较.判断是否相等时,直接用 == 放在两个对象中间,例如下面的代码: Infor i1 = new Infor(111,"AA"); Infor i2 = new ...
- html 涂改图片功能实现
网页源码直接贴了: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...
- Lua库之时间和日期操作
Lua库之时间和日期操作 (2010-02-07 18:41:20) 转载▼ os.time() <== 返回当前系统的日历时间os.date() <== 返回本地化的时间字符串,这里是& ...
- 关于Windows7的安装纠结过程
关于Windows7的安装过程 背景交代 因为自己有两个笔记本,一个是伴我读过四年大学生活的老华硕笔记本,一个是姐夫不用的上网本.自己的构想是将老笔记本装上Ubuntu Server当作平时开发pyt ...
- Doherty Threshold
Prior to the publication of the IBM technical paper behind what commonly known today as the Doherty ...
- MSSQL—行转列
行转列,是SQL中经常会遇到的一个问题,并且分为静态转换和动态转换,所谓静态转换即在转换的行数已知或固定:动态转换则为转换的行数不固定. 转换的方法一般采用case when语句或pivot(MSSQ ...
- Hive中的排序和分组(对map和reduce的影响,值得一看!)
order by order by 会对输入做全局排序,因此只有一个reducer(多个reducer无法保证全局有序)只有一个reducer,会导致当输入规 模较大时,需要较长的计算时间. set ...
- Android AsyncTask 简单用法
简介 AsyncTask 是一个轻量级的异步处理类.使用是需继承自该类.可以方便的执行异步任务并且在将进度显示在UI上. 注意事项 AsyncTask只适合处理轻量级的任务即耗时几秒或者几十秒的任务. ...