Seite 1 von 1

Regular expressions

Verfasst: Sonntag 29. November 2020, 12:43
von tobiaskb
Hallo zusammen,

bei mir hakt es gerade an folgender Stelle. Ich habe den folgenden String und möchte via reg ex die float Zahlen pro AcX, AcY, AcZ auslesen und in eine DB schreiben.

String ["MPU6050", 9537, {"AcZ": 0.0375977, "AcY": -0.0314941, "AcX": 1.04004}]

Folgende reg expr habe ich gefunden, s.u. Denke, dass es die Richtige bezüglich der Extration der float Zahl ist. Ich möchte die float Zahl hinter "AcXYZ":_ auslesen. Füge ich die Anführungsstriche bei AcZ ein, führt dies zu Problemen mit der regular expression. Hier scheine ich etwas falsch zumachen und komme derzeit nicht dahinter.
Ich wäre für einen Gedankenanstoß dankbar.

Code: Alles auswählen

data = str(msg.payload.decode("utf-8"))
acc_z = re.findall("AcZ: (^[-+]?\d*\.?\d*$)", data)
Derzeitiger Output, wenn der Code läuft ist:
[]
[]

Viele Grüße

Re: Regular expressions

Verfasst: Sonntag 29. November 2020, 12:53
von __deets__
Das ist JSON. Les das einfach mit dem json-Modul ein, und greif auf die Datenstruktur entsprechend zu.

Re: Regular expressions

Verfasst: Sonntag 29. November 2020, 14:33
von tobiaskb
Danke dir. Jetzt wo du mich drauf stößt... :-)