python | 正则匹配中re.match().group()函数的使用
正则表达式中,group()
用来提出分组截获的字符串,()
用来分组。
例如:
import re
a = "123abc456"
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(0) #123abc456,返回整体
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(1) #123
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(2) #abc
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(3) #456
正则表达式中的三组括号把匹配结果分成三组
-
group() 同group(0)就是匹配正则表达式整体结果
-
group(1) 列出第一个括号匹配部分,group(2) 列出第二个括号匹配部分,group(3) 列出第三个括号匹配部分。
-
group(num=0) 匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。 groups() 返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。
例子:对python的命令行命令进行参数的解析
# 导入re库
import re
# 需要匹配的参数
parameters='device_list=[0,1,2,3],train_steps=40000,update_cycle=16,batch_size=256,save_checkpoint_steps=2000,max_length=256'
# 对字符串进行匹配
result = re.match(r".*device_list=\[(.*?)\].*", parameters)
# group()的使用
type(result.group())
# str
result.group()
# 'device_list=[0,1,2,3],train_steps=40000,update_cycle=16,batch_size=256,save_checkpoint_steps=2000,max_length=256'
result.group(0)
# 'device_list=[0,1,2,3],train_steps=40000,update_cycle=16,batch_size=256,save_checkpoint_steps=2000,max_length=256'
result.group(1)
# '0,1,2,3'
# groups()的使用
type(result.groups())
# tuple
result.groups()[0]
# '0,1,2,3'
# 如果匹配规则分为好几个组的话,还可以:
# result.groups()[1]:表示第二个括号匹配部分
# result.groups()[2]:表示第三个括号匹配部分
# ...
至此,我们可以通过这个例子,完全的了解正则匹配中re.match().group()函数的使用了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)