RegEx in data-part

Begonnen von TheAbalone, 10 November 2018, 21:54:15

Vorheriges Thema - Nächstes Thema

TheAbalone

Hallo!

Ich würde gerne in einem Label nur die ersten beiden Buchstaben des Readings anzeigen lassen (So bei Sonntag z.B.).
Dafür gibt es ja data-part
Das Regex ^.{2} funktioniert aber nicht. Eigentlich funktioniert gar kein Regex mit ^

Wo liegt der Fehler?
Danke für eure Hilfe!

SirMarco

Poste mal deinen Code bitte

Wie soll man ohne denn helfen?

TheAbalone


<div class="cell-15"
data-type="label"
data-device="cv_Kalender"
data-get="t_001_weekdayname"
data-part="^.{2}">
</div>

OdfFhem

#3
Rein theoretisch ist hier nicht unbedingt ein RegEx notwendig, da das CALVIEW-Device für diesen Zweck ein Attribut  bereitstellt.

kurze Wochentage: Mo ... So

attr <CALVIEW-Device> weekdayformat de-short


lange Wochentage (Standard): Montag ... Sonntag

attr <CALVIEW-Device> weekdayformat de-long


Wird dieses Attribut geändert, sollte man set <CALVIEW-Device> update ausführen, ansonsten werden die Wochentage erst bei der nächsten Kalender-Aktualisierung neu berechnet.


Sollte man aber sowohl Verwendung für die kurzen als auch die langen Wochentage haben, dann hilft dies natürlich nicht.

In einem solchen Fall kann man u.a. auf folgende Varianten zurückgreifen

data-part="(..).*"
data-part="(.{2}).*"

TheAbalone

OK, vielen Dank!

Ist es irgendwo dokumentiert, dass ^ und $ nicht funktionieren?

Deine Variante habe ich nirgens gefunden ...

setstate

Zitatdass ^ und $ nicht funktionieren?

^ und $ funktionieren!

Bei dir fehlte die Capture-Group. Es wurde also nicht angegeben, was "rausgeholt" werden soll.

Ausserdem werden ^ und $ implizit eingefügt. Dadurch würde ein

data-part="(.{2})"

auch nicht funktionieren, weil es eigentlich so aussieht

data-part="^(.{2})$"