re模块补充
#_author:Administrator
#date:2019/11/9
#前面的 * + ? 都是贪婪匹配,如果要最少匹配的话,则在后面加 ?
import re
#1.贪婪匹配
ret=re.findall('star*','starrrrrr')
print(ret)# ['starrrrrr']
#2.惰性匹配
ret1=re.findall('star*?','starrrrrr')
print(ret1)# ['sta']
# 3 [] 字符集补充
ret2=re.findall('a[cd]b','acdb')
print(ret2)# [] 因为 c 和 d之间是或者的关系,只能取一个 ret3=re.findall('a[c,d]b','a,b')
print(ret3)# ['a,b']
#4.命名分组,组之间可以用任何符号代替
ret4=re.search('(?P<name>\w{2})/(?P<age>\d{2})','gsjsd/67js9')
print(ret4.group()) # sd/67
print(ret4.group('age'))# 67
print(ret4.group('name')) # sd
# 5.
ret5=re.findall('www.\w+.com','www.jingdong.com')
print(ret5)# ['www.jingdong.com'] ret5_=re.findall('www.(\w+).com','www.jingdong.com')
print(ret5_)# ['jingdong'] findall() 只会把匹配到的组里面的内容取出来
# ?: 取消组的优先级 ret6=re.findall('www.(?:\w+).com','www.jingdong.com')
print(ret6) # ['www.jingdong.com']
# 6.sub()
ret7=re.sub('\d','star','jjsdbs8cbsjds9bjjsnj2fds')
print(ret7)# jjsdbsstarcbsjdsstarbjjsnjstarfds
ret8=re.sub('\d','star','1s466c7',)# 后面加数字代表前面多少个进行替换
print(ret8) # stars466c7
#7.subn() 会返回替换了多少次
ret9=re.subn('\d','asd','sh8sd6sds7smm3ssx')
print(ret9)# ('shasdsdasdsdsasdsmmasdssx', 4)
#8.finditer()
ret10=re.finditer('\d','sdjs7sdvhsb8sbs2bsnmxs9j')# ret10为一个迭代器
print(ret10)# <callable_iterator object at 0x01037490>
print(next(ret10).group())
print(next(ret10).group())
print(next(ret10).group())
print(next(ret10).group())
re模块补充的更多相关文章
- 文成小盆友python-num7 -常用模块补充 ,python 牛逼的面相对象
本篇内容: 常用模块的补充 python面相对象 一.常用模块补充 1.configparser模块 configparser 用于处理特定格式的文件,起内部是调用open()来实现的,他的使用场景是 ...
- python模块补充
一.模块补充 configparser 1.基本的读取配置文件 -read(filename) 直接读取ini文件内容 -sections() 得到所有的section,并以列表的形式返回 -opti ...
- python_9(模块补充)
第1章 re模块补充 1.1 贪婪匹配:回溯算法 1.2 .*?的用法 1.3 例:分组<name>取值 1.4 匹配整数删除小数 1.5 正则测试地址 第2章 重点模块 2.1 hash ...
- 8.6 day27 网络编程 osi七层协议 Time模块补充知识 TCP协议
Time模块补充知识 date和datetime区别是什么? date 就是年月日 datetime就是年月时时分秒 以下代码为什么会报错? import json from datetime imp ...
- os模块补充以及序列化模块
os模块补充以及序列化模块 一.os模块的补充 1.os.path.abspath 能把存在的相对路径的绝对路径显示出来 path = os.path.abspath("连达day19. ...
- python day 8: re模块补充,导入模块,hashlib模块,字符串格式化,模块知识拾遗,requests模块初识
目录 python day 8 1. re模块补充 2. import模块导入 3. os模块 4. hashlib模块 5. 字符串格式:百分号法与format方法 6. 模块知识拾遗 7. req ...
- pandas模块补充
数据分析模块pandas和matplotlib补充 面向百度式编程 面向百度式工作 遇到没有见过的知识点或者是相关知识点一定不要慌,结合百度和已知的知识点去学习 pandas模块补充 基于numpy构 ...
- re模块补充与其他模块介绍
注:昨日写了re单个模块几个重要的点需要补充 一.re模块补充 1.findall独有的优先级别展示 res = re.findall('abc', 'abcabcabcabc') print(res ...
- python之re模块补充和其他模块(collection、time、queue、datetime、random)
目录 re模块补充说明 collections模块 queue模块 time模块 datetime模块 random模块 re模块补充说明 在正则表达式中,'()'的作用是进行分组,但是在re模块中, ...
- 7.python模块补充
此文章是对上节文章模块的补充 一,xml模块 xml是实现不同语言或程序之间进行数据交换的协议,可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言.xml的格式如下 ...
随机推荐
- linux在不关机情况下新增硬盘的方法
开机状态插入硬盘 不关机执行命令 echo "- - -" > /sys/class/scsi_host/host0/scan 注意 echo "- - -&quo ...
- CodeForces-1215C-Swap Letters-思维
Monocarp has got two strings ss and tt having equal length. Both strings consist of lowercase Latin ...
- 20140329 自由 youtube
1.人生入戏,全靠演技:人生苦短,必须性感 2.youtube修改用户名 3.使用代理软件修改了IE的代理导致上不了网
- spark自定义函数之——UDF使用详解及代码示例
前言 本文介绍如何在Spark Sql和DataFrame中使用UDF,如何利用UDF给一个表或者一个DataFrame根据需求添加几列,并给出了旧版(Spark1.x)和新版(Spark2.x)完整 ...
- 【ARC073F】Many Moves
题目 一个显然的\(dp\),设\(dp_{i,j}\)表示其中一个棋子在\(x_i\)点,另一个棋子在\(j\)点的最小花费 显然\(dp_{i,j}\)有两种转移 第一种是把\(x_i\)上的棋子 ...
- 【POJ】3660 Cow Contest
题目链接:http://poj.org/problem?id=3660 题意:n头牛比赛,有m场比赛,两两比赛,前面的就是赢家.问你能确认几头牛的名次. 题解:首先介绍个东西,传递闭包,它可以确定尽可 ...
- ES6 学习 -- Generator函数
(1)语法说明:Generator函数其实是一个普通函数,其有两个特点,一是,function关键字与函数名之间有一个星号(*):二是Generator函数内部使用yield表达式,定义不同的状态,然 ...
- Erlang学习记录:运算符
数学运算符 说明 详细 符号 加减乘 +-* 浮点数除 结果为浮点数 / 整数除 除数和被除数都必须是整数,结果为整数 div 整数取余 rem 逻辑运算符 说明 符号 详细 and 前后两个值都为真 ...
- java8--Stream的flatmap与map异同的理解
大纲: 异同点 示例 一.异同点 他们的相同点是接收的入参都是一个function. 不同点这个入参function的返回不同.map返回一个对象,flatmap返回一个stream. 这就使得map ...
- 【转】keepalived+mysql
https://www.cnblogs.com/gomysql/p/3856484.html MySQL的高可用方案有很多,比如Cluster,MMM,MHA,DRBD等,这些都比较复杂,我前面的文章 ...