Python 正则表达式re常用方法+匹配模式
正则表达式
元字符
“.” :通配符,除换行符外的任意的1个字符
“\d” : 数字
“\D” : 非数字
“\s” :空白字符 、 \t、\r、\n、空格
“S” :非空白字符
“\w” :单个的 数字和字母,[A-Za-z0-9]
“\W”:非单词字符,除数字和字母外
数量词
“*” :0次或多次
“+” :1次或多次
“?” :0次或1次
“{m}” :匹配字符串出现m次
“{m,n}” :匹配字符串出现m到n次
边界
“^” :匹配字符串开头或行头
“$” :匹配字符串结尾或则行尾
“\A”:匹配字符串开头
“\Z”:匹配字符串结尾
常用方法
compile(pattern):自定义匹配模式
test_string="123456abcdefghijkab123"
patter=re.compile('ab')
s=patter.findall(test_string)
print(s) #结果['ab', 'ab']
search(pattern,string):在字符串中寻找模式,找到返回MatchObject(True),未找到返回None(False)
test_string="123456abcdef985@#ghijkab123ab"
search=re.search('\d{3}',test_string)
print(search) #结果<re.Match object; span=(0, 3), match='123'>
match(pattern,string):在字符串开始处匹配模式,找到返回MatchObject(True),未找到返回None(False)
test_string="123456abcdef985@#ghijkab123ab"
match=re.match("\D",test_string)
print(match) #结果None
test_string="123456abcdef985@#ghijkab123ab"
match=re.match("\d",test_string)
print(match) #结果<re.Match object; span=(0, 1), match='1'>
split(pattern,string):根据模式分割字符串,返回列表
test_string="123456abcdef985@#ghijkab123ab"
split=re.split('ab',test_string)
print(split) #结果 ['123456', 'cdef985@#ghijk', '123', ''],按照ab进行分割
findall(pattern,string):列表形式返回匹配项
test_string="123456abcdef985@#ghijkab123ab"
findall=re.findall('\d+',test_string)
print(findall) #结果 ['123456', '985', '123']
sub(pat,repl,string) :用repl替换 pat匹配项
test_string="123456abcdef985@#ghijkab123ab"
sub=re.sub('\d+','T',test_string)
print(sub)#结果TabcdefT@#ghijkabTab
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?