Hallo zusammen,
seit Jahren lasse ich mich von der Seite
https://www2.bsh.de/aktdat/wvd/ostsee/Ostsee.html
vor Sturmfluten warnen, mit einem ganz einfachen rergex:
(Sturmflut)
jetzt ist auf der Seite aber etwas auskommentiert
<!--
<span class="w3-btn w3-small w3-padding-small w3-light-gray w3-round-large">
<a class="blau_u" href="https://www.bsh.de/DE/THEMEN/Wasserstand_und_Gezeiten/Sturmfluten/_Anlagen/Downloads/Ostsee_Sturmflut_20220128-31.pdf" target="_blank">
Die letzte Sturmflut vom 28.-31.1.2022</a></span>
-->
Wie kann ich nach dem Wort Sturmflut suchen, außerhalb von <!-- --> ?
Vielen Dank
@Freibeuter
Aktuell gibt es auf der verlinkten Seite nur die "geerdete" Sturmflut, daher ist der Aufbau der Seite bei Sturmflut-Warnung etwas unklar ...
Wenn man die Reihenfolge kennt, dann sollte eigentlich ein Ausdruck nach folgendem Muster ausreichen:
(Sturmflut).*Sturmflut
Sturmflut kommt mindestens zweimal vor; das erste Auftreten gewinnt ...
Sturmflut.*(Sturmflut)
Sturmflut kommt mindestens zweimal vor; das letzte Auftreten gewinnt ...
Wenn man die Reihenfolge nicht festlegen kann/will, könnte folgender Ausdruck helfen:
(Sturmflut).*(<!--).*Sturmflut.*?(-->)|(<!--).*Sturmflut.*?(-->).*(Sturmflut)
Zitatvorher Sturmflut xyz <!-- xyz --> <!-- xyz Sturmflut xyz --> <!-- xyz --> xyz Sturmflut nachher
--> findet erstes Vorkommen
Zitatvorher Stuuuuurmflut xyz <!-- xyz --> <!-- xyz Sturmflut xyz --> <!-- xyz --> xyz Sturmflut nachher
--> findet letztes Vorkommen
Zitatvorher Stuuuuurmflut xyz <!-- xyz --> <!-- xyz Sturmflut xyz --> <!-- xyz --> xyz Stuuuuurmflut nachher
--> findet nichts
Sollte die "geerdete" Sturmflut verschwinden, hilft (höchstwahrscheinlich) keiner der genannten Ausdrücke. Daher wäre vermutlich der genauere Aufbau der Seite im Falle der Sturmflut-Warnung zielführender ...
Fuer einen sinnvollen Rat muesste man wissen, wie man an die Daten kommt (HTTPMOD, direktes HttpUtils_NonblockingGet, etc).
Je nach Methode kann man erst alle Kommentare entfernen mit <!--.*?-->, und danach nach den Daten suchen.
Oder nach "nicht vorher ein" "letzte"?
(?!letzte.)Sturmflut
Vielen Dank für die Antwort,
bei Sturmflut sieht die Seite so aus:
http://web.archive.org/web/20220130085000/https://www2.bsh.de/aktdat/wvd/ostsee/Ostsee.html
Und genau wie Du sagst, die Warnung sollte auch kommen, wenn es den <!-- --> Hinweis nicht mehr gibt...
mein Device sieht so aus:
defmod Pegel_Ostsee HTTPMOD https://www2.bsh.de/aktdat/wvd/ostsee/Ostsee.html 8000
attr Pegel_Ostsee userattr disable event-on-change-reading readingsRegex.* stateFormat verbose
attr Pegel_Ostsee alias Pegel_Ostsee
attr Pegel_Ostsee disable 0
attr Pegel_Ostsee enableControlSet 1
attr Pegel_Ostsee event-on-change-reading .*
attr Pegel_Ostsee event-on-update-reading Sturmflut
attr Pegel_Ostsee group 4 Pegel_Ostsee
attr Pegel_Ostsee reading01Name Pegel_aktuell_ab
attr Pegel_Ostsee reading01Regex Zeitraum.1.von.(.*)bis.*<br>
attr Pegel_Ostsee reading02Name Pegel_vorhersage_ab
attr Pegel_Ostsee reading02Regex Zeitraum.2.von.(.*)bis.*<br>
attr Pegel_Ostsee reading03Name Pegel_vorhersage_min
attr Pegel_Ostsee reading03Regex bereich2.zeit2..(.*).bis..*
attr Pegel_Ostsee reading04Name Pegel_vorhersage_max
attr Pegel_Ostsee reading04Regex bereich2.zeit2...*.bis.(.*)
attr Pegel_Ostsee reading05Name last_update
attr Pegel_Ostsee reading05Regex erstellt.am.(\d+.\d+.\d+..\d+:\d+).*Uhr
attr Pegel_Ostsee reading06Name Pegel_aktuell_max
attr Pegel_Ostsee reading06Regex bereich2.zeit1..(.*).bis..*
attr Pegel_Ostsee reading07Name Pegel_aktuell_min
attr Pegel_Ostsee reading07Regex bereich2.zeit1...*.bis.(.*)
attr Pegel_Ostsee reading08Name Warnung
attr Pegel_Ostsee reading08Regex (Warnung.*)\n
attr Pegel_Ostsee reading09Name Sturmflut
attr Pegel_Ostsee reading09Regex (Surmflut)
attr Pegel_Ostsee reading10Name Werte
attr Pegel_Ostsee reading10RegOpt g
attr Pegel_Ostsee reading10Regex (.\d+).\n
attr Pegel_Ostsee room 8_Wetter
attr Pegel_Ostsee stateFormat aktuell: Werte-5 später: Werte-15 morgen: Werte-25
attr Pegel_Ostsee verbose 0
attr Pegel_Ostsee webCmd reread
@Freibeuter
Das folgende Attribut scheint falsch oder es handelt sich um einen Kopierfehler ... bei Surmflut fehlt ein t
attr Pegel_Ostsee reading09Regex (Surmflut)
Bei der Seite aus dem Archiv könnte/sollte schon folgender Ausdruck reichen ...
attr Pegel_Ostsee reading09Regex (Sturmflut)warnung
Oh man ... das war ja einfach.
Vielen Dank!