Hallo Zusammen,
ich habe ein Problem mit RegEx in einer App (http://netio.davideickhoff.de/). Das hat zwar nichts direkt mit AutoIt zu tun, aber eure Kompetenz ist mir ja bestens bekannt und daher bitte ich euch um Hilfe.
Ich habe einen String der wie folgt aufgebaut ist:
{WOHNEN_LICHT: ON}{KINDER_LICHT: OFF}{WOHNEN_TEMP: 12.3} usw...
Legende:
{ = Start einer Sequenz
WOHNEN_LICHT = Raum & Funktion
ON = Status (variable)
} = Ende einer Sequenz
Ich möchte gerne in dieser App via ReqEx anhand des Raumes und der Funktion den Status ermitteln. Damit meine ich, wenn ich als Filter z.B. "WOHNEN_LICHT" einsetze, das RegEx mir den Status "ON" rausfiltert. Dazu kommt das die Sequenzen nicht immer alle vorhanden sind und auch nicht immer gleich kommen. Ein Beispiel:
1 - {KINDER_LICHT: OFF}{WOHNEN_LICHT: ON}{WOHNEN_TEMP: 12.3} usw...
2 - {WOHNEN_LICHT: ON}{WOHNEN_TEMP: 12.3} usw...
3 - {WOHNEN_LICHT: ON}
4 - {WOHNEN_LICHT: ON}{KINDER_LICHT: OFF}{WOHNEN_TEMP: 12.3}
5 - ...
Leider unterstützt diese App bei iOS noch keine Groups, sonst würde es wie folgt funktionieren:
RegEx-Befehl = .*?(WOHNEN_LICHT).*?((?:[a-z][a-z0-9_]*))
Ergebniss:
Group #1: WOHNEN_LICHT
Group #2: ON
RegEx-Befehl = .*?(KINDER_LICHT).*?((?:[a-z][a-z0-9_]*))
Ergebniss:
Group #1: KINDER_LICHT
Group #2: OFF
RegEx-Befehl = .*?(WOHNEN_TEMP).*?([+-]?\d*\.\d+)(?![-+0-9\.])
Group #1: WOHNEN_TEMP
Group #2: 12.3
Ich hoffe, ich konnte mein Problem verständlich genug erklären. Vielen Dank schon mal für eure Hilfe!
Gruß
Homer J. S.