re常用模块
re模块:从字符串里面找到特定的字符串
re的基本语法(匹配规则)
import re
s = '王大炮打炮被大炮打死了 王大炮打炮被大炮打死了'
^:开头
print(re.findall('^王大炮',s))
$:结尾
print(re.findall('死了$',s))
[]匹配中间的字符,只要单个字符
s = 'acefghjkacefsdfsdf'
print(re.findall('[acef]',s))
[]+连用,对[]内的元素取反
print(re.findall('[^acef]',s))
.任意字符除了\n
s='abacadaeaf'
print(re.findall('a..',s))
s = 'abaacaaaaa'
*前面的字符0-无穷个
print(re.findall('a*',s))
+前面的字符1-无穷个
print(re.findall('a+',s))
?前面的字符0-1个
print(re.findall('a?',s))
{m}前面的字符m个
print(re.findall('a{5}',s))
{n,m}前面的字符n-m个
print(re.findall('a{2,5}',s))
s='s 1 s+\n=$\t2_s 3'
\d数字
print(re.findall('\d',s))
\D非数字
print(re.findall('\D',s))
\w数字字母下划线
print(re.findall('\w',s))
\W非数字字母下划线
print(re.findall('\W',s))
\s空格\t\n
print(re.findall('\s',s))
\S非空格\t\n
print(re.findall('\S',s))
\取消意义
s='aba\d'
print(re.findall(r'a\b',s))
.*贪婪模式,找到值后继续找到最后,让结果最大化
s='abbbcabc'
print(re.findall('a.*c',s))
.*?非贪婪模式,找到第一个后就马上停止了
print(re.findall('a.*?c',s))
()只要括号内的除了什么以外
s='abacad'
print(re.findall('a(.)',s))
A|B,A和B都要
s='abacad'
print(re.findall('a|b',s))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!