我想使用python正则表达式提取版本号
下面的字符串存储在“str1”变量中
show.sh
{
"sys_0_num" : {
"rel_num": 2.3,
"version": 14891
},
"sys_1_num" : {
"rel_num": 2.3,
"version": 14891
}
"cha_num" : {
"rel_num": 2.3,
"version": 571,
"model":1487
}
}
我想从每个组件中提取版本号,即
系统0数量版本:14891
系统编号版本:14891
查努姆版本:571
我在下面的行代码中尝试了此操作,但无法获得所需的输出(上面的字符串存储在str1
变量中):
Sample code
output2 = re.findall(r'sys_0_num\[version]:\s*(\d+)',str1)[0]
您可以使用模式
"(\w+)"\s*:\s*\{.*?("version"\s*:\s*\d+)
,它有两个捕获组:一个用于标识符字符串,即"(\w+)"\s*:\s*\{
,另一个用于版本,即("version"\s*:\s*\d+)
,以及用于多行匹配的re.DOTALL
标志您可以稍后加入并打印它们:
相关问题 更多 >
编程相关推荐