FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: Nobby1805 am 13 Mai 2016, 23:27:20

Titel: Bitte um Erklärung: Label-Widget, data-part als RegEx
Beitrag von: Nobby1805 am 13 Mai 2016, 23:27:20
Sorry, data-part als index in die blank separierte Liste verstehe ich ja noch ... aber wie genau läuft das mit dem RegEx

Im Doku-Beispiel (\d\d\:\d\d\:\d\d).* liefert z.B. 99:20:30 ... wenn dann aber der "Wert" vor dem ersten Doppelpunkt 3-stellig wird, dann kommt gar nichts mehr ... und wenn man (\d\d\d\:\d\d\:\d\d).* schreibt dann klappt es mit 3-stellig aber wenn es "nur" 2-stellig ist kommt wieder nichts

Sorry, irgendwie kapiere ich es nicht  :'( ... wer kann meinen Denkknoten durchschlagen ?
Titel: Antw:Bitte um Erklärung: Label-Widget, data-part als RegEx
Beitrag von: viegener am 13 Mai 2016, 23:43:17
probier doch mal: (\d?\d\d\:\d\d\:\d\d).* und ausserdem empfehle ich eine Regexp-Doku ...

Titel: Antw:Bitte um Erklärung: Label-Widget, data-part als RegEx
Beitrag von: Nobby1805 am 14 Mai 2016, 10:14:21
Zitat von: viegener am 13 Mai 2016, 23:43:17
probier doch mal: (\d?\d\d\:\d\d\:\d\d).* und ausserdem empfehle ich eine Regexp-Doku ...
Hatte ich ja und es sogar mit einem Online-Tester probiert, da hat es mit \d* geklappt aber im Label-widget wurde nichts angezeigt :( ... heute klappt es mit deinem Vorschlag, aber auch mit * ... was auch immer ich gestern falsch gemacht habe

Sehe ich es richtig, dass durch die Klammern eine Gruppe gebildet wird und die dann vom Widget angezeigt wird?

Danke :)
Titel: Antw:Bitte um Erklärung: Label-Widget, data-part als RegEx
Beitrag von: viegener am 16 Mai 2016, 13:44:49
Ja so ähnlich, die Regel ist meinem Verständnis nach wie folgt:

Der angegebene Regexp muss auf den gesamten Inhalt des Readings matchn, da der Ausdruck vor der Ausführung mit ^ und $ ergänzt wird. Also wenn man aus einem Reading mit dem Inhalt "abc 33:33 def" nur die "33:33" herausholen will, dann reicht es nicht (\d\d:\d\d) anzugeben, sondern .*(\d\d:\d\d).*. Also noch den Anfang und das Ende dazu.

Ausserdem werden alle geklammerten Ausdrücke zusammengehängt und dann als Anzeigewert verwendet. Also kann man auch mehrere Gruppen in Klammern verwenden