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”表示:不要转义,要用原生字符串

posted @   映辉  阅读(54)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示