Bitte um Erklärung: Label-Widget, data-part als RegEx

Begonnen von Nobby1805, 13 Mai 2016, 23:27:20

Vorheriges Thema - Nächstes Thema

Nobby1805

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 ?
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

viegener

probier doch mal: (\d?\d\d\:\d\d\:\d\d).* und ausserdem empfehle ich eine Regexp-Doku ...

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Nobby1805

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 :)
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

viegener

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
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können