Python re模块学习
2024-08-27 03:40:09
这是re模块与正则的结合
re模块提供的函数
1.match 尝试在字符串的开头应用该模式,返回匹配对象,如果没有找到匹配,则为None。
import re str1 = "Why are you keeping this curiosity door locked?"
res = re.match('\w+y', str1)
print(res)
如果要获取匹配的值则需要调用group()方法:
print(res.group())
2. fullmatch 表示匹配全部字符串,返回匹配对象,如果没有找到匹配,则返回None。
import re str1 = "Why are you keeping this curiosity door locked?"
res = re.fullmatch('\w+y', str1)
print(res)
import re str1 = "Why"
res = re.fullmatch('\w+y', str1)
print(res)
3.search 匹配到第一个符合的字符串就会停止,返回匹配对象,如果没有找到匹配,则返回None。
import re str1 = "Why are you keeping this curiosity door locked? looking foreword"
res = re.search('\w+g', str1)
print(res)
print(res.group())
match 就相当于 re.search('^RE', string) (从头开始去匹配)
4. findall 匹配字符串中所有符合的 ,返回匹配对象(列表),如果没有找到匹配,则返回None。
import re str1 = "Why are you keeping this curiosity door locked? looking foreword"
res = re.findall('\w+g', str1)
print(res)
5. sub 把匹配到的字符串再用给的字符替换,然后返回新的字符串
sub(pattern, repl, string, count=0, flags=0)
import re str1 = "Why are you keeping this curiosity door locked? looking foreword"
res = re.sub('ing', 'ed', str1)
print(res)
import re str1 = "Why are you keeping this curiosity door locked? looking foreword"
res = re.subn('ing', 'ed', str1)
print(res)
subn则会告诉你替换了多少处(返回的是一个元祖)
6. split 相当于 字符串的split的用法, 返回切割后的列表
import re str1 = "Why are you keeping this curiosity door locked? looking foreword"
res = re.split('e', str1)
print(res)
可以把(RE)用括号括起来就可以把用来切割的 字符串也包含进列表中
import re str1 = "Why are you keeping this curiosity door locked? looking foreword"
res = re.split('(\we)', str1)
print(res)
7. compile 先把正则编译,如果需要很多匹配的字符串都用到同一个正则表达式,则可以用compile先把正则编译好,可以节约时间
8.finditer 可以从匹配到的列表里一个一个的获取到数据,经常与compile连用处理比较多的数据
最新文章
- js中返回上一页失效的解决办法
- Quartz2D复习(二) --- 手势解锁
- 假期(codevs 3622)
- android之Widget01
- Windows Phone 8.1开发:如何从ListView中,获取ScrollViewer对象
- Android发送数据到web服务器4种方式
- ajax实现下拉列表联动
- jquery通过ajax向后台发送(checkbox)数组,并在后台接收,(发送的数据是checkedbox)
- 怎么看vue版本
- Spark RPC框架源码分析(一)简述
- 图像分析函数:skimage.measure中的label、regionprops
- 解题(IdenticalTree--拓扑结构相同子树 )
- linux上apache并发数与服务器内存关系计算!
- Java离线人脸识别SDK 支持arcface 2.0 最新版
- vue-router-3-嵌套路由
- 记一次Linux系统安装的异常(AMI配置)
- 自定义单选框radio样式
- ASP.NET 程序优化
- 在方法中new关键字的用处
- 洛谷 P3102 [USACO14FEB]秘密代码Secret Code 【区间dp】
热门文章
- 【转载】sudoers改坏后无法使用sudo的解决办法
- various system release [online]
- 各种推导式 详情见EVA_J的博客
- 【Java.Regex】用正则表达式查找Java文件里的字符串
- Faster, more memory efficient and more ordered dictionaries on PyPy
- ping 域名
- jvm 命令使用调优 通过jstat、jmap对java程序进行性能调优
- 005 文档API
- mysql 日期总结
- Syntax error: ";("; unexpected shell里面的报错解决