如何编写Python正则表达式

2024-10-02 22:32:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我想返回从给定字符串解析出的剩余电池容量值。这意味着我想得到CurrentCapacity/MaxCapacity

data = '''
    "SuperMaxCapacity" =0
    "MaxCapacity": +4540;
    'CurrentCapacity'=   2897,
    "LegacyBatteryInfo" = {"Amperage"=18446744073709550521,"Flags"=4,"Capacity"=4540,"Current"=2897,"Voltage"=7283,"Cycle Count"=406}
    "MegaMaxCapacity" = 6700
'''

Tags: 字符串datacountcurrentflagscapacityvoltagecycle
1条回答
网友
1楼 · 发布于 2024-10-02 22:32:30

这将很好地完成这项工作,并将获得匹配,即使您的data输入格式非常不确定:

import re

data = '''
    "SuperMaxCapacity" =0
    "MaxCapacity": +4540;
    'CurrentCapacity'=   2897,
    "LegacyBatteryInfo" = {"Amperage"=18446744073709550521,"Flags"=4,"Capacity"=4540,"Current"=2897,"Voltage"=7283,"Cycle Count"=406}
    "MegaMaxCapacity" = 6700
'''

max_capacity = re.search(r"[\"']MaxCapacity.*?[:=].*?(\d+)", data).group(1)
current_capacity = re.search(r"[\"']CurrentCapacity.*?[:=].*?(\d+)", data).group(1)
print("Max capacity:", max_capacity)
print("Current capacity:", current_capacity)

Output:

Max capacity: 4540
Current capacity: 2897

相关问题 更多 >