import re
regex = re.compile(r"ACPOWER\":\"([\d\.]+)", flags=re.MULTILINE)
test_str = "{\"UPTIME\":\"00d 00:45:26\",\"RSSI\":96,\"VERSION\":\"1.10 04.05.2023 06:16\",\"DEVICENAME\":\"T2SG8BBF6C\",\"STATICIP\":\"192.168.88.68\",\"STATICGW\":\"192.168.88.1\",\"STATICSN\":\"255.255.255.0\",\"VGRID\":236.8,\"VBAT\":25.6,\"SETACPOWER\":700,\"TEMP\":42,\"DAC\":23637,\"CALSTEP\":0,\"MAXPOWER\":\"700\",\"POWERLIMIT\":700,\"VBATCUTOFF\":24,\"VBATREBOOT\":24.5,\"SUN2IP\":\"\",\"SUN3IP\":\"\",\"SUN2ROUNDTRIP\":\"0\",\"SUN2SETPOINT\":0,\"SUN2POWERLIMIT\":0,\"SUN3ROUNDTRIP\":\"0\",\"SUN3SETPOINT\":0,\"SUN3POWERLIMIT\":0,\"METERURL\":\"http://192.168.88.57/status\",\"METER_USER\":\"admin\",\"METER_PASS\":\"\",\"JSONKEYS\":\"total_power\",\"METERINTERVAL\":\"500\",\"METERREADOUT\":142,\"ZEPCTARGET\":\"15\",\"ZEPCAVERAGE\":\"20\",\"MQTT_SERVER\":\"\",\"MQTT_PORT\":\"1883\",\"MQTT_USER\":\"\",\"MQTT_PASS\":\"\",\"HADISCOVERY\":0,\"MQTT_ACSETPOINTOVR_NAME\":\"T2SG8BBF6C/ACSETPOINTOVR\",\"MQTT_ACSETPOINTOVR_VALUE\":\"\",\"MQTT_DACOVR_NAME\":\"T2SG8BBF6C/DACOVR\",\"MQTT_DACOVR_VALUE\":\"\",\"MQTT_CALSTEPOVR_NAME\":\"T2SG8BBF6C/CALSTEPOVR\",\"MQTT_CALSTEPOVR_VALUE\":\"\",\"MQTT_METEROVR_NAME\":\"T2SG8BBF6C/METEROVR\",\"MQTT_METEROVR_VALUE\":\"\",\"MQTT_MAXPOWEROVR_NAME\":\"T2SG8BBF6C/MAXPOWEROVR\",\"MQTT_MAXPOWEROVR_VALUE\":\"\",\"MQTT_TARGETOVR_NAME\":\"T2SG8BBF6C/TARGETOVR\",\"MQTT_TARGETOVR_VALUE\":\"\",\"MQTT_ACSETPOINT_NAME\":\"T2SG8BBF6C/ACSETPOINT\",\"MQTT_ACSETPOINT_VALUE\":7000,\"MQTT_ACDISPLAY_NAME\":\"T2SG8BBF6C/ACDISPLAY\",\"MQTT_ACDISPLAY_VALUE\":7211,\"MQTT_VGRID_NAME\":\"T2SG8BBF6C/VGRID\",\"MQTT_VGRID_VALUE\":2368,\"MQTT_VBAT_NAME\":\"T2SG8BBF6C/VBAT\",\"MQTT_VBAT_VALUE\":256,\"MQTT_DAC_NAME\":\"T2SG8BBF6C/DAC\",\"MQTT_DAC_VALUE\":23637,\"MQTT_CALSTEP_NAME\":\"T2SG8BBF6C/CALSTEP\",\"MQTT_CALSTEP_VALUE\":0,\"MQTT_TEMPERATURE_NAME\":\"T2SG8BBF6C/TEMPERATURE\",\"MQTT_TEMPERATURE_VALUE\":42,\"MQTT_METER_NAME\":\"T2SG8BBF6C/METER\",\"MQTT_METER_VALUE\":\"2963.35\",\"MQTT\":\"not set\",\"ACPOWER\":\"721.10 W\",\"ACPOWERSUN2\":\"not set\",\"ACPOWERSUN3\":\"not set\",\"METERPOWER\":\"2963.35 W\",\"ZEPCPOWER\":\"2083.90 W\"}"
matches = regex.finditer(test_str)
for match_num, match in enumerate(matches, start=1):
print(f"Match {match_num} was found at {match.start()}-{match.end()}: {match.group()}")
for group_num, group in enumerate(match.groups(), start=1):
print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html