FHEM > Automatisierung

[gelöst]Watchdog: regex im regexp1 funktioniert nicht

(1/1)

frober:
Hallo zusammen,

wieso funktioniert folgende Def. nicht, ist die Schreibweise für regexp1 nicht zulässig?

--- Code: ---MYSENSOR_3:temperature1.(^[0-7][\.][0-9]) 02:00 MYSENSOR_3:temperature1.([0-9\.]{4,4}) {}
--- Ende Code ---

In regexp2 funktioniert es :o

--- Code: ---MYSENSOR_3:temperature1.* 02:00 MYSENSOR_3:temperature1.([0-9\.]{4,4}) {}
--- Ende Code ---

Beide regex habe ich mittels Regextester erstellt.

Danke und Grüße
Bernd

Benni:

--- Zitat von: frober am 28 November 2021, 20:56:21 ---
--- Code: ---MYSENSOR_3:temperature1.(^[0-7][\.][0-9])
--- Ende Code ---

--- Ende Zitat ---

Der Grund warum es nicht funktioniert dürfte das "^" sein. Das ist in regex der Zeilenanfang. Das befindet sich aber mitten in der Zeile.

Außerdem ist m.E. die Gruppenbildung "(...)" unnötig.


gb#

frober:

--- Zitat von: Benni am 29 November 2021, 08:00:19 ---Der Grund warum es nicht funktioniert dürfte das "^" sein. Das ist in regex der Zeilenanfang. Das befindet sich aber mitten in der Zeile.

Außerdem ist m.E. die Gruppenbildung "(...)" unnötig.


gb#

--- Ende Zitat ---

Das "^" könnte mit ein Grund sein, ich bin davon ausgegangen, dass es auf EVTPART1 angewendet wird.

Ich habe aber noch weitere Bsp. die nicht funktionieren:

--- Code: ---MYSENSOR_3:temperature1.([8-9][\.][0-9])
--- Ende Code ---

--- Code: ---Zisternenpumpe:power.([0-9\.]{5,5})
--- Ende Code ---

frober:
Ok, ich muss das komplette Event auswerten.
@Benni danke für den Stups.  :)

So funktioniert es:

--- Code: ---MYSENSOR_3:temperature1[\s][0-7][\.][0-9]
--- Ende Code ---

Nachtrag:

--- Code: ---MYSENSOR_3:temperature1.[0-7][\.][0-9]
--- Ende Code ---
funktioniert auch.

Wichtig ist, die Gruppenbildung "(...)" darf man nicht verwenden, damit das komplette EVENT gematcht wird.

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln