Python3正则表达式学习笔记
学习前准备:导入re模块
import re
一、re的核心函数
1 - re.compile(pattern[, flags]) 编译正则表达式,速度快 2 - re.match(pattern, string, flags=0) 只从字符串最开始进行匹配,只返回一个结果 3 - re.search(pattern, string, flags=0) 从字符串任意位置开始匹配,返回第一次找到的内容 4 - re.findall(pattern, string, flags=0) 查找所有匹配到的,并返回一个列表 5 - re.finditer(pattern, string, flags=0) 查找所有匹配到的,返回一个可迭代的对象 6 - re.sub(pattern, repl, string, count=0, flags=0) 替换匹配到的内容 7 - re.split(pattern, string[, maxsplit=0, flags=0]) 按照能够匹配的子串将字符串分割后返回列表 其中:match()、search()、finditer()返回的内容是一个对象,数据需要提取
二、常用的匹配对象的方法
1 - group() 返回整个匹配的对象,或者特殊编号的子组---->group()、group(1)、group(2) 2 - groups() 将所有匹配到的子组以元组的方式返回 3 - start() 返回匹配开始的位置 4 - end() 返回匹配结束的位置 5 - span() 返回匹配到的开始位置和结束位置,以元组方式返回
三、正则模式
^ 匹配字符串的开头 $ 匹配字符串的末尾 . 除了换行符之外的任意字符 | A | B,表示匹配正则表达式 A 或者 B \ 转义 [] 匹配包含的任意一个字符,^如果出现在首位则表示取反 {n} 前面的字符连续出现n次 {m,n} 前面的字符连续出现最少m次,最多m次 {m,} 连续出现最少m次 {,n} 等价于{0,n} * 前面的字符连续出现0次或无数次 + 前面的字符连续出现1次或无数次 ? 前面的字符出现0次或1次 () 分组:1、后向引用\数字,2、group()获取 (?P<name>正则表达式) 有名分组:1、后向引用(?P=name),2、group()来获取
四、正则表达式修饰符,可选标志
re.I 使匹配对大小写不敏感 re.L 做本地化识别(locale-aware)匹配 re.M 多行匹配,影响 ^ 和 $ re.S 使 . 匹配包括换行在内的所有字符 re.U 根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B re.X 该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解
五、在正则前加“r”表示:不要转义,要用原生字符串
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现