Hallo,
wie an anderer Stelle (https://forum.fhem.de/index.php/topic,78915.0.html) schon geschrieben, möchte ich den Status meines RAIDs überprüfen und in Tablet UI anzeigen lassen.
Einen passenden Regex hat man mir freundlicherweise schon erstellt, wenn ich diesen aber in den data-part eingebe bekomme ich einen Fehler der UI.
<!-- RAID Status -->
<div class="top-space-2x">
<header class="big">RAID</header>
<div data-type="label"
data-device="sys.raid_status"
data-get="raid_status"
data-part="(?s).*?(md.).*?(sd..).*?(sd..).*?(\[.\/.]).*?(\[..])"
class="cell">
</div>
</div>
Egal welchen regex Ausdruck ich in "data-part" eintrage, es gibt immer einen Toast-Fehler
Error
fhem-tablet-ui.js:1613
in der UI.
Einzig .* funktioniert.
Was stimmt da nicht?
Kleine Anmerkung noch, der Regex-Ausdruck funktioniert im Online Regex Tester(https://regex101.com/).
Ich muss korrigieren: der Regex-Ausdruck funktioniert NICHT im Online Regex Tester(https://regex101.com/), wenn man links javascript auswählt. Ich nutze so oft regex101 für Perl, dass ich am Anfang nicht aufgepasst habe.
Was ihm nicht gefehlt ist das (?s) am Anfang.
Ich kenne mich aber weniger mit javascript Regex, und weiss nicht genau, wie man ein "match" auf mehrere Zeilen mit javascript, ohne die Flags/Options hinkriegen kann.
[\s\S]*?(md.)[\s\S]*?(sd..)[\s\S]*?(sd..)[\s\S]*?(\[.\/.])[\s\S]*?(\[..])[\s\S]*?
funktioniert mit javascript in regex101. Allerdings fügt fhem-tablet-ui.js ein ^ am Anfang und ein $ am Ende hinzu, und somit kriegst Du nur das erste Set von Werten.
O.K., danke erstmal, das ist ja zumindest schonmal was worauf ich vielleicht aufbauen kann.