正则表达式使用大全
re
参数:
- pattern:正则表达式
- string:要处理的字符串
- flags:修饰正则的规则
匹配方式:
re.match(pattern,string,flags) :从字符串的起始位置开始返回成功的匹配,匹配不成功返回none。
re.search(pattern,string,flags) :扫描整个字符串并返回第一个成功的匹配。
re.findall/re.finditer(pattern,string,flags) :在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,未匹配成功则返回空列表。
re.sub() :替换字符串
re.split() :分割字符串
匹配规则:
- 单字符匹配
abc : 匹配abc
[abc] : 匹配abc中任意一个字符
[0-9] : 匹配任意一个数字
[a-zA-Z] : 匹配任意一个字母
[a-zA-Z0-9-] : 匹配任意字母数字和-
[^
0-9] : 匹配任意一个非数字
- 多字符匹配
x* : 匹配0个或多个x内容(0,无穷)
x+ : 匹配1个或多个x内容(1,无穷)
x? : 匹配0个或一个x内容(0,1)
x{m} : 匹配m个x内容
x{m,} : 至少匹配m个x内容
x{m,n} : 至少匹配m-n个x内容(m,n)
- 元字符
\
d : 等价[0-9]
\
D : 等价[^
0-9]
\
w : 等价与 [a-zA-Z0-9_]
\
W : 对\
w取反
\
s : 匹配任意一个空白字符包括 空格、制表符、换行符等
\
S匹配任意一个非空白字符
- 点字符
. : 匹配除换行符之外的任意字符
\
.: 匹配一个点
- 匹配模式
贪婪模式 :尽可能多的匹配字符(取上限)
非贪婪模式 :尽可能少的匹配字符(取下限)(在已有的数量符后面追加一个?触发)
- 限定符
^
: 出现在正则的头部;代表以 ... 开头
$ : 出现在 正则的尾部;代表以 ... 结尾
- 分组
re.search(a(b)()()c).group():分组取值
group(0):取所有组
group():取第一组内容
修饰符:flags
修饰符 | 描述 |
---|---|
re.l | 使匹配对大小写不敏感 |
re.M | 匹配多行,影响限定符 |
re.S | 使.匹配包括换行符在内的所有字符 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!