re模块补充
2024-09-06 06:52:14
#_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())
最新文章
- Django Channels 学习笔记
- python3的基础练习题
- dd命令测试linux磁盘读写速度
- fstab的格式
- MFC的资源切换AFX_MANAGE_STATE(AfxGetStaticModuleState()
- Struts2之Validator
- Python3学习笔记32-xlwt模块
- tcpdump抓包具体分析
- 你真的会用Gson吗?Gson使用指南(3)
- mysql同时使用order by和limit查询时的一个严重隐患 -- 丢失数据
- 给hackrf加上1602LCD以及UART(附带固件编译方法)
- JSON Web Token的使用(转载)
- MessageBox的常见用法
- BZOJ P1059 [ZJOI2007]矩阵游戏——solution
- 【手把手教你全文检索】Apache Lucene初探 (zhuan)
- html 基础--一般标签
- TypeError: $.ajaxFileUpload(…) is not a function
- Codeforces 460D. Little Victor and Set
- JSTL <;C:if>;<;/C:if>; 和<;C:ForEach>;<;/C:ForEach>; 入门级~
- 利用nginx设置浏览器协商缓存