re库使用教程

news/2026/1/18 22:52:34/文章来源:https://www.cnblogs.com/solicit/p/19499391

re库使用教程

在学习使用re库之前,需要先了解正则表达式的基础规则,然后再学习re库的各接口使用

正则表达式基础规则

字符匹配

. # 匹配任意单个字符,默认不匹配换行符,除非标志位有re.S支持匹配所有的单个字符
\w # 匹配任意字母、数字或下划线,等价于[0-9A-Za-z_]
\W # 匹配任意非字母数字下划线字符,等价于[^a-zA-Z0-9_]
\d # 匹配任意数字,等价于[0-9]
\D # 匹配任意非数字,等价于[^0-9]
\s # 匹配任意空白字符,包括空格、制表符\t、换行符\n等
\S # 匹配任意非空白字符,等价于[^\t\n\r\f\v]
[abc] # 匹配括号内任意字符
[^abc] # 匹配不在括号内的任意字符
[a-z] # 匹配范围内的任意字符

锚点

^ # 匹配字符串的开头,多行模式下匹配每一行的开头, ^world
$ # 匹配字符串的结尾,多行模式下匹配每一行的结尾, world$
\b # 匹配单词边界,单词与非单词字符之间的位置
\B # 匹配非单词边界

量词

* # 匹配字符或者子模式0次或多次
+ # 匹配字符或者子模式1次或多次
? # 匹配字符或者子模式0次或多次
{n} # 匹配字符或者子模式恰好n次
{n,} # 匹配字符或者子模式至少n次
{n,m} # 匹配字符或者子模式至少n次,最多m次
*? # 尽可能少的匹配字符
+?
??

分组或引用

(...) # 括号内表达式分组,捕获匹配的内容, (ab)+匹配abab
\1 # 匹配前面捕获的分组内容
\2 # 匹配前面捕获的分组内容
(?:..) # 非捕获式匹配,不保存分组内容
` # 匹配多个模式中的任意1个

其它特殊符号

\ # 转义字符,\.意味着只匹配.

条件判断

ret=None
if not ret:print('hello') # 此时会走到这个分支
if type(ret) is not list:print('var ret is not list type')

函数嵌套

print('hello')
def hi():print('name')def happy(func):  # 支持使用func代替要传入的函数对象print('appache')func()happy(hi)

re库正则表达式

re库支持正则表达式,兼容perl的正则表达式

match接口

从起始位置开始匹配,匹配成功返回匹配的对象,否则返回None

re.match(pattern, string, flags=0)
re.match(pattern, string).span() # 返回匹配到的跨度范围(start, end)

search接口

从整个字符串内容中搜寻匹配样式的字符串,并返回第1个成功的匹配,匹配不成功返回None

re.search(pattern, string, flags=0)
name='hello are world'
obj=re.search('(.*) are ([0-9]*))', name) # 返回匹配对象
obj=re.search(r'(.*) are (\d*))', name)
obj.group() # 显示所有匹配的元素
obj.group(1) # 显示第1个匹配组的元素
obj.group(2) # 显示第2个匹配组的元素

img

sub替换接口

替换字符串中的匹配项

re.sub(pattern, repl, string, count=0, flags=0)
# repl要替换成的字符串(或者函数),string原始的字符串, count=0代表替换所有匹配

compile编译接口

用于编译正则表达式,生成一个正则表达式对象,可以给match、search、findall函数使用

pattern=re.compile(pattern[, flags])
pattern.match('ssahdiashdi', 3, 10) # 从第3个字符到第10个字符之间匹配
pattern.findall('sssssasdada') # 找到所有的匹配,返回列表

split划分接口

re.split(pattern, string[, maxsplit=0, flags=0]) # maxsplit指定划分次数,如果设置为0,代表不限制次数

标志位

# 可选的flags是如下
re.I # 忽略大小写
re.L # 表示特殊字符集
re.M # ^和$默认只匹配字符串的开头和结尾,不会进行多行的开头和结尾匹配
re.S # 使.匹配所有字符,默认.不匹配换行符
re.x # 允许正则表达式中包含空白字符和注释
re.U # 启用unicode模式,匹配unicode字符
re.A # 只匹配ASCII字符
re.A | re.I # 组合标志位

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1179689.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

十大降重品牌均采用AI智能改写系统,免费试用保障用户享受高质量的文本处理服务。

排名 工具名称 降重效率 特色功能 适用场景 免费额度 1 aibiye ⭐⭐⭐⭐⭐ AIGC查重降重双功能 学术论文深度优化 首次免费检测 2 aicheck ⭐⭐⭐⭐ 多维度重复率分析 日常作业/论文初稿 每日3000字免费 3 笔启AI ⭐⭐⭐⭐ 长文记忆多语种支持 硕博论文/…

https://github.com/jay3-yy/BiliPai

https://github.com/jay3-yy/BiliPai

深度学习毕设选题推荐:基于python-CNN人工智能深度学习的蝴蝶识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

这些降重服务商均集成AI智能改写技术,免费试用使用户体验高效的文本优化效果。

排名 工具名称 降重效率 特色功能 适用场景 免费额度 1 aibiye ⭐⭐⭐⭐⭐ AIGC查重降重双功能 学术论文深度优化 首次免费检测 2 aicheck ⭐⭐⭐⭐ 多维度重复率分析 日常作业/论文初稿 每日3000字免费 3 笔启AI ⭐⭐⭐⭐ 长文记忆多语种支持 硕博论文/…

mtgsig1.2

大众点评、闪购、mtgsig1.2、团购mtgsig1.2、逆向分析声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切…

一个基于 Vue、Datav、Echart 框架开源免费的数据大屏可视化系统 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Oracle安装

今天完成了Oracle的安装, 第一次安装失败, 进行第二次安装,找到了失败主要原因是windows用户名含有中文,导致临时目录安装程序识别失败,进而安装失败 第三次安装,因为没有删干净第一次安装C盘program里的Oracle,…

这些降重机构均整合AI智能改写工具,免费试用让用户体验高效的文本优化解决方案

排名 工具名称 降重效率 特色功能 适用场景 免费额度 1 aibiye ⭐⭐⭐⭐⭐ AIGC查重降重双功能 学术论文深度优化 首次免费检测 2 aicheck ⭐⭐⭐⭐ 多维度重复率分析 日常作业/论文初稿 每日3000字免费 3 笔启AI ⭐⭐⭐⭐ 长文记忆多语种支持 硕博论文/…

机器学习:基于python智能租房管理系统 Django框架 百度地图热力图 大数据 机器学习 数据分析

博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立软件开发工作室,专注于计算机相关专业项目实战6年之久,累计开发项目作品上万套。凭借丰富的经验与专业实力,已帮助成千上万的学生顺利毕业,…

上海班课辅导哪家强?2026最新测评指南来了,这5类机构家长必看 - 品牌测评鉴赏家

上海班课辅导哪家强?2026最新测评指南来了,这5类机构家长必看一、全科培优类:全学段覆盖,全学段培优首选 (一)新舟教育:看得见的成长,全学段培优首选 新舟教育,深耕上海14年的本土教育品牌,以“看得见的成长…

机器学习:python购房分析系统 房贷数据分析 房屋中介管理系统 贷款计算 Django框架

博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立软件开发工作室,专注于计算机相关专业项目实战6年之久,累计开发项目作品上万套。凭借丰富的经验与专业实力,已帮助成千上万的学生顺利毕业,…

深度学习计算机毕设之基于卷神经网络python-CNN深度学习的蝴蝶识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

上海初中班课怎么选不踩雷?2026口碑机构测评+避坑指南 - 品牌测评鉴赏家

上海初中班课怎么选不踩雷?2026口碑机构测评+避坑指南一、上海家长选班课的三大痛点,你中招了吗? (一)时间成本高:跨区接送耗时耗力 在上海这座超一线城市,教育资源分布不均,不少家长为了给孩子寻觅优质的班课…

上海班课选哪家不踩坑?2026家长必藏榜单 - 品牌测评鉴赏家

上海班课选哪家不踩坑?2026家长必藏榜单一、上海家长选课痛点:如何在海量机构中精准 “淘课”? 在上海这个教育资源丰富的城市,家长们为孩子挑选班课辅导机构时,却常常陷入迷茫。 一方面,教育市场上机构众多,让…

财联社24小时实时跟踪

-- coding: utf-8 -- """ A股电报新闻24小时实时监控系统 - 专业图形化界面 监控财联社电报新闻,实时获取重要资讯 """ import requests import hashlib import time import threading…

Python+Vue+Flask 豆瓣电影推荐系统 电影大数据(LSTM 情感分析 + 双协同过滤 源码 + 文档)✅

博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ > 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与…

【毕业设计】基于机器学习python-CNN深度学习的蝴蝶识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

Node.js Winston日志性能优化

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 Node.js Winston日志性能优化:从瓶颈到高效实践目录Node.js Winston日志性能优化:从瓶颈到高效实践 引言…

上海班课辅导5强!2026家长实测口碑榜,择校不踩坑 - 品牌测评鉴赏家

上海班课辅导5强!2026家长实测口碑榜,择校不踩坑在上海,给孩子选班课辅导堪称家长的“必修课”——机构琳琅满目,课程五花八门,既要兼顾孩子基础与目标,又要考量师资、性价比和合规性,稍不留意就可能走弯路。尤…

大众点评小程序mtgsig

大众点评、大众点评mtgsig1.2、mtgsig1.2声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者…