RegEx für Label / data-part ?

Begonnen von DocCyber, 26 März 2020, 19:00:50

Vorheriges Thema - Nächstes Thema

yersinia

#15
Zitat von: DocCyber am 27 März 2020, 19:49:35
Aber ebenfalls nochmal: ich kenne die Seite. Sie ist gut,  aber sie hilft mir bei dieser Fragestellung nicht, denn ich habe ja bereits die passenden Regex.
Oder habe ich etwas übersehen?

Schau doch mal im Code, wie das widget das behandelt. Ausgangslage ist, dass du eine aktuelle FTUI Version hast und die Version auf github eq deiner ist. Wenn ja, wird data-part so verarbeitet:
var val = ftui.getPart(value, elem.data('part'));
https://github.com/knowthelist/fhem-tablet-ui/blob/master/www/tablet/js/widget_label.js

Die Funktion getPart verarbeitet das dann so:
var matches = value.match(new RegExp('^' + part + '$'));
https://github.com/knowthelist/fhem-tablet-ui/blob/master/www/tablet/js/fhem-tablet-ui.js

Ich verstehe das so, dass du dein RegEx also ohne ^ und $ bauen musst, in etwa so:
[:]([\w]*)
<div class="label"
  data-get="dummy"
  data-part="[:]([\w]*)">
</div>
viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

DocCyber

Hallo Yersinia,

Quellcode ansehen stand schon auf dem Programm. Du warst schneller.  :)
Ja, ich habe dieselbe Version.

Derzeit verstehe ich aber noch nicht den Sinn dahinter, dass der JS-Code den übergebenen Regex grundsätzlich mit ^ und $ auffüttert. Damit sage ich nicht, dass das sinnlos ist.
Das 'Problem' ist: Einer meiner beiden funktionierenden Regex braucht ein $ am Ende, der andere nicht.

Ich muss mir das genauer ansehen.
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox