regex101 findet 12 Treffer - HTTPMOD gibt nichts zurück

Begonnen von Marko1976, 26 März 2026, 23:31:08

Vorheriges Thema - Nächstes Thema

Marko1976

@passibe
Naja, ChatGPT hat die falschen Ergebnisse erwischt, aber grundsätzlich gute Arbeit mit der KI. Die Teamnamen und das Serien-Ergebniss habe ich bereits rausbekommen. Wo ich aktuell dran bin sind die Einzelergebnisse.

Die Einzelnen Serien setzen sich ja aus jeweils bis zu sieben Spielen zusammen.

Und was dort in der KI-Lösung noch fehlt - wonach du aber wahrscheinlich auch nciht gefragt hast - ist eine Aufsplittung nach Runde, also Finale, Halbfinale, Viertelfinale und 1. Play-Off-Runde.
Der Grund dafür ist wieder der Seitenaufbau, denn z.b. aktuell gibt es das Finale noch gar nicht auf der Seite und wird erst hinzugefügt wenn die entsprechenden Mannschaften feststehen. Das bedeutet aber leider, dass der Inhalt der jetzt im ersten Reading landet (zur Zeit Kölner Haie, weil 1. Halbfinalbegegnung) stände dann plötzlich im 3. gefundenen Reading, da im 1. und 2. die Gegner der Finalpartien stehen.

Zitat von: RalfRog am 02 April 2026, 22:27:10Das kann man doch ganz gut in dem Screenshot sehen was ich als Text eingegeben habe und was dann als "gefunden" markiert ist.
Nein kann man nicht, da man ja nicht weiß was darüber oder darunter außerhalb des Fensters noch steht. Doch es ist schon wie vermuten. Leider bewirkt auch das herauslöschen der Leerzeichen eine extreme Änderung der Regex - das hatte ich selbst schon mal ausprobiert und völlig andere Ergebnisse bzw. Regex bekommen als mit.
Zitat von: RalfRog am 02 April 2026, 22:27:10letzten Dezember:
Letzten Dezember ging es um etwas völlig anderes, bitte fang nicht wieder davon an um weitere Missverständnisse zu vermeiden. Das eine war die reguläre Tabelle der Hauptrunde, das aktuell sind die Playoffs. Andere Seite, anderer Aufbau und Struktur, andere Auswertungen notwendig.

RalfRog

#31
Zitat von: Marko1976 am 03 April 2026, 20:58:31Die Teamnamen und das Serien-Ergebniss habe ich bereits rausbekommen. Wo ich aktuell dran bin sind die Einzelergebnisse

Mit ein bischen spielen gehts wohl - allerdings ist nicht ganz klar zu welchen Readings du genau willst.

Auch hier für mich einfach der Versuch sich mit deinem Ansatz und Hilfe von regex101.com schrittweise zu nähern.
=> Livecode aus https://www.penny-del.org/spiele

Attributes
attr eis reading01Name name
attr eis reading01RegOpt g
attr eis reading01Regex <div class="col-5 text-center">\v +<div class="imgcontainer">\v +<img class="img-fluid poteamlogo" alt.*images.*" \/>\v.*\v +\b(.*)\v.*\v.*\v.*Serie
attr eis reading02Name standing
attr eis reading02RegOpt g
attr eis reading02Regex <h3>(.*)<\/h3>
attr eis reading03Name einzel
attr eis reading03RegOpt g
attr eis reading03Regex <div class="col text-center gameentry">\v.*teamshorts">(\w+:\w+).*\v.*\v +(\d:\d)\v

Readings
einzel-1 SWW:KEC                      2026-04-04 22:08:51
einzel-2 0:1                          2026-04-04 22:08:51
einzel-3 KEC:SWW                      2026-04-04 22:08:51
einzel-4 4:2                          2026-04-04 22:08:51
einzel-5 SWW:KEC                      2026-04-04 22:08:51
einzel-6 2:4                          2026-04-04 22:08:51
einzel-7 KEC:SWW                      2026-04-04 22:08:51
einzel-8 2:1                          2026-04-04 22:08:51
einzel-9 MAN:BHV                      2026-04-04 22:08:51
einzel-10 5:2                         2026-04-04 22:08:51
einzel-11 BHV:MAN                     2026-04-04 22:08:51
einzel-12 4:5                         2026-04-04 22:08:51
einzel-13 MAN:BHV                     2026-04-04 22:08:51
einzel-14 5:1                         2026-04-04 22:08:51
einzel-15 BHV:MAN                     2026-04-04 22:08:51
einzel-16 6:1                         2026-04-04 22:08:51
einzel-17 MAN:BHV                     2026-04-04 22:08:51
einzel-18 4:3                         2026-04-04 22:08:51
einzel-19 STR:EBB                     2026-04-04 22:08:51
einzel-20 5:1                         2026-04-04 22:08:51
einzel-21 EBB:STR                     2026-04-04 22:08:51
einzel-22 2:1                         2026-04-04 22:08:51
einzel-23 STR:EBB                     2026-04-04 22:08:51
einzel-24 2:4                         2026-04-04 22:08:51
einzel-25 EBB:S                       2026-04-04 22:08:51
einzel-26 2:1                         2026-04-04 22:08:51
einzel-27 STR:EBB                     2026-04-04 22:08:51
einzel-28 2:1                         2026-04-04 22:08:51
einzel-29 RBM:ING                     2026-04-04 22:08:51
einzel-30 5:6                         2026-04-04 22:08:51
einzel-31 ING:RBM                     2026-04-04 22:08:51
einzel-32 1:6                         2026-04-04 22:08:51
einzel-33 RBM:ING                     2026-04-04 22:08:51
einzel-34 5:2                         2026-04-04 22:08:51
einzel-35 ING:RBM                     2026-04-04 22:08:51
einzel-36 7:2                         2026-04-04 22:08:51
einzel-37 RBM:ING                     2026-04-04 22:08:51
einzel-38 6:3                         2026-04-04 22:08:51
einzel-39 BHV:NIT                     2026-04-04 22:08:51
einzel-40 4:0                         2026-04-04 22:08:51
einzel-41 NIT:BHV                     2026-04-04 22:08:51
einzel-42 2:3                         2026-04-04 22:08:51
einzel-43 WOB:SWW                     2026-04-04 22:08:51
einzel-44 3:1                         2026-04-04 22:08:51
einzel-45 SWW:WOB                     2026-04-04 22:08:51
einzel-46 5:1                         2026-04-04 22:08:51
einzel-47 WOB:SWW                     2026-04-04 22:08:51
einzel-48 2:3                         2026-04-04 22:08:51
name-1 Kölner Haie                    2026-04-04 22:08:51
name-2 Adler Mannheim                 2026-04-04 22:08:51
name-3 Kölner Haie                    2026-04-04 22:08:51
name-4 Adler Mannheim                 2026-04-04 22:08:51
name-5 Straubing Tigers               2026-04-04 22:08:51
name-6 EHC Red Bull München           2026-04-04 22:08:51
name-7 Pinguins Bremerhaven           2026-04-04 22:08:51
name-8 Grizzlys Wolfsburg             2026-04-04 22:08:51
standing-1 0:0                        2026-04-04 22:08:51
standing-2 0:0                        2026-04-04 22:08:51
standing-3 4:0                        2026-04-04 22:08:51
standing-4 4:1                        2026-04-04 22:08:51
standing-5 2:3                        2026-04-04 22:08:51
standing-6 3:2                        2026-04-04 22:08:51
standing-7 2:0                        2026-04-04 22:08:51
standing-8 1:2                        2026-04-04 22:08:51

Zitat von: Marko1976 am 03 April 2026, 20:58:31...wird erst hinzugefügt wenn die entsprechenden Mannschaften feststehen. Das bedeutet aber leider, dass der Inhalt der jetzt im ersten Reading landet (zur Zeit Kölner Haie, weil 1. Halbfinalbegegnung) stände dann plötzlich im 3. gefundenen Reading...
Die Frage ist dann doch schon ob das so Sinn macht, da die kleinste Änderung alles durcheinander bringt.

Hilfreich in dem Zusammenhang zum Erkennen der Struktur sind die Entwicklertools z.B. Firefox (F12) oder ganz gezielt per Rechtsklick "Untersuchen (Q)"


FHEM VM Debian13 (trixie) auf Proxmox VE9  (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

Prof. Dr. Peter Henning

#32
Zitat von: Marko1976 am 03 April 2026, 20:58:31Leider bewirkt auch das herauslöschen der Leerzeichen eine extreme Änderung der Regex - das hatte ich selbst schon mal ausprobiert und völlig andere Ergebnisse bzw. Regex bekommen als mit.
Zitat von: RalfRog am 04 April 2026, 00:25:45Die Frage ist dann doch schon ob das so Sinn macht, da die kleinste Änderung alles durcheinander bringt.
Nein, eben nicht.

Der "Threat"-Ersteller kann es drehen und wenden wie er will, er kann auch noch so oft um Hilfe rufen und andere beleidigen:
Das ist kein Anwendungsfall für Reguläre Ausdrücke
Sondern der klassische Anwendungsfall für XPath.

LG

pah



betateilchen

Zitat4 April 2026, 03:45:50

@pah Lass Dir doch vom Thread-Ersteller keine schlaflosen Nächte machen...  8)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Prof. Dr. Peter Henning

#34
Zitat von: betateilchen am 04 April 2026, 09:06:35keine schlaflosen Nächte machen.
Normale Arbeitszeit. Keiner stört... ;D

Zitat von: Marko1976 am 26 März 2026, 23:31:08Nach wie vor liege ich mit Regex auf Kriegsfuss.
Zitat von: Marko1976 am 24 März 2026, 15:57:48Ist es in Deutschland mitlerweile Verpönt mal normale ganze Wörter zu benutzen? Das bringt mich genauso weit wie gar nichts zu sagen.
Eben. Darum sagt man auch "Regulärer Ausdruck", nicht "Regex".

LG

pah

betateilchen

Zitat von: Prof. Dr. Peter Henning am 04 April 2026, 09:51:10
Zitat von: Marko1976 am 24 März 2026, 15:57:48Ist es in Deutschland mitlerweile Verpönt mal normale ganze Wörter zu benutzen?

Darum sagt man auch "Regulärer Ausdruck"

Wobei "regulär" ja auch kein deutsches Wort ist, sondern vom lateinischen "regularis = einer Regel gemäß" kommt.

Vielleicht könnte man "regelgerechter Ausdruck" sagen?

*duck-und-weg*
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

passibe

Zitat von: Marko1976 am 03 April 2026, 20:58:31@passibe
Naja, ChatGPT hat die falschen Ergebnisse erwischt, aber grundsätzlich gute Arbeit mit der KI. Die Teamnamen und das Serien-Ergebniss habe ich bereits rausbekommen. Wo ich aktuell dran bin sind die Einzelergebnisse.
Ah, ok. Ja, dann würde ich wohl in der Tat jetzt eher den Fokus auf XPath setzen, siehe:
https://forum.fhem.de/index.php?topic=45176
unter "aus der Doku zu XPath:"

Marko1976

@RalfRog
Genau um die Ergebinsse geht es mir aktuell. Und eben um die Termine der noch nicht ausgespielten Einzelpartien. Eine Serie kann ja ab dem Viertelfinale bis zu 7 Spiele umfassen bis der sieger feststeht. Ich hänge mal einen Screenshot an und versuche zu kennzeichen was wie wo relevant ist. Alles Grüne habe ich bereits abgehakt, alles Rote fehlt mir noch und Gelb markiere ich die jeweiligen Gruppierungen für die Roten Elemente. Blau kennzeichnet eine Runde der Play-Offs bei der immer Zwei Mannschaften in mehreren Spielen aufeinander treffen. Ähnlich einem KO-System werden es dann immer weniger Mannschaften.
Du darfst diesen Dateianhang nicht ansehen.

Zitat von: RalfRog am 04 April 2026, 00:25:45Die Frage ist dann doch schon ob das so Sinn macht, da die kleinste Änderung alles durcheinander bringt.
Leider habe ich keinen Anbieter der Daten gefunden der schon vorab alles mit Platzhaltern anzeigt. Im Gegenteil, bei den anderen Anbietern ist es durch Slider oder Tabs noch weiter verschachtelt.
Für die Grün markierten Bereich habe ich in de rRegex jeweils einen Bereich angegeben und zb die Namen nach Runde (also Viertelfinale, Halbfinale etc.) in separate Readings schreiben lassen. Dadurch wird sichergestellt, dass die erste Mannschaft im Viertelfinale auch nach dem hinzufügen des Halbfinales im gleichen reading landet.

Wenn man mal die beiden Motzprobanden ignoriert die nur stänkern wollen und rein gar nichts zum Thema beitrage ohne sich zu wiederholen, ist das Thema eh praktisch durch, da die Playoffs sich ja schon ihrem Ende endgegen neigen und ich nicht unbedingt noch mehr arbeit investieren will. Speziell da nun wieder meine zwei Hater hier auftauchen die schon zum wiederholten Mal gemeldet und nun auch angezeigt wurden.

Danke jedenfalls für die, die wirklich helfen und was bewegen wollen.

RalfRog

Zitat von: Marko1976 am 04 April 2026, 19:38:34ist das Thema eh praktisch durch, da die Playoffs sich ja schon ihrem Ende endgegen neigen und ich nicht unbedingt noch mehr arbeit investieren will
Schön, schön...

Zitat von: Marko1976 am 04 April 2026, 19:38:34Für die Grün markierten Bereich habe ich in de rRegex jeweils einen Bereich angegeben und zb die Namen nach Runde (also Viertelfinale, Halbfinale etc.) in separate Readings schreiben lassen
Es wäre inbesondere bei dem Titel "...HTTPMOD gibt nichts zurück" doch interessant wie du den Teil gelöst hast und mal konkret die "readingsXX"-Attribute und die resultierenden ReadingsXX nennst - es kommt ja was zurück.

FHEM VM Debian13 (trixie) auf Proxmox VE9  (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

Marko1976

Mache ich natürlich gerne, hier erst mal das komplette List:
Internals:
   BUSY       0
   DEF        https://www.penny-del.org/spiele 18060
   FUUID      69c92e07-f33f-7706-0d6e-fa5ceffc3a8a1ca5
   FVERSION   98_HTTPMOD.pm:0.291590/2024-09-23
   Interval   18060
   MainURL    https://www.penny-del.org/spiele
   ModuleVersion 4.2.0 - 11.8.2023
   NAME       hockey_playoff
   NOTIFYDEV  global
   NR         578
   NTFY_ORDER 50-hockey_playoff
   STATE      Kölner Haie
   TYPE       HTTPMOD
   eventCount 8
   value     
   CompiledRegexes:
   HttpUtils:
     NAME       
     addr       https://www.penny-del.org:443
     auth       0
     buf       
     code       200
     compress   1
     conn       
     data       
     displayurl https://www.penny-del.org/spiele
     header     
     host       www.penny-del.org
     httpheader HTTP/1.1 200 OK
date: Mon, 06 Apr 2026 22:17:04 GMT
server: Apache/2.4.52 (Ubuntu)
content-language: de-DE
cache-control: max-age=0
expires: Mon, 06 Apr 2026 22:17:04 GMT
vary: Accept-Encoding
content-encoding: gzip
x-ua-compatible: IE=edge
x-content-type-options: nosniff
content-length: 8955
keep-alive: timeout=5, max=100
content-type: text/html; charset=utf-8
connection: close
     httpversion 1.0
     hu_blocking 0
     hu_filecount 1
     hu_port    443
     hu_portSfx
     ignoreredirects 1
     loglevel   4
     path       /spiele
     protocol   https
     redirects  0
     timeout    30
     url        https://www.penny-del.org/spiele
     sslargs:
   QUEUE:
   READINGS:
     2026-04-07 00:17:04   name-1          Kölner Haie
     2026-04-07 00:17:04   name-10         Eisbären Berlin
     2026-04-07 00:17:04   name-11         EHC Red Bull München
     2026-04-07 00:17:04   name-12         ERC Ingolstadt
     2026-04-07 00:17:04   name-13         Pinguins Bremerhaven
     2026-04-07 00:17:04   name-14         Nürnberg Ice Tigers
     2026-04-07 00:17:04   name-15         Grizzlys Wolfsburg
     2026-04-07 00:17:04   name-16         Schwenninger Wild Wings
     2026-04-07 00:17:04   name-2          Eisbären Berlin
     2026-04-07 00:17:04   name-3          Adler Mannheim
     2026-04-07 00:17:04   name-4          EHC Red Bull München
     2026-04-07 00:17:04   name-5          Kölner Haie
     2026-04-07 00:17:04   name-6          Schwenninger Wild Wings
     2026-04-07 00:17:04   name-7          Adler Mannheim
     2026-04-07 00:17:04   name-8          Pinguins Bremerhaven
     2026-04-07 00:17:04   name-9          Straubing Tigers
     2026-04-07 00:17:04   nameHF-1        Kölner Haie
     2026-04-07 00:17:04   nameHF-2        Eisbären Berlin
     2026-04-07 00:17:04   nameHF-3        Adler Mannheim
     2026-04-07 00:17:04   nameHF-4        EHC Red Bull München
     2026-04-07 00:17:04   nameHF-5        Viertelfinale
     2026-04-07 00:17:04   namePPO-1       Pinguins Bremerhaven
     2026-04-07 00:17:04   namePPO-2       Nürnberg Ice Tigers
     2026-04-07 00:17:04   namePPO-3       Grizzlys Wolfsburg
     2026-04-07 00:17:04   namePPO-4       Schwenninger Wild Wings
     2026-04-07 00:17:04   nameVF-1        Kölner Haie
     2026-04-07 00:17:04   nameVF-2        Schwenninger Wild Wings
     2026-04-07 00:17:04   nameVF-3        Adler Mannheim
     2026-04-07 00:17:04   nameVF-4        Pinguins Bremerhaven
     2026-04-07 00:17:04   nameVF-5        Straubing Tigers
     2026-04-07 00:17:04   nameVF-6        Eisbären Berlin
     2026-04-07 00:17:04   nameVF-7        EHC Red Bull München
     2026-04-07 00:17:04   nameVF-8        ERC Ingolstadt
     2026-04-07 00:17:04   seriesF-1       0
     2026-04-07 00:17:04   seriesHF-1      0
     2026-04-07 00:17:04   seriesHF-2      0
     2026-04-07 00:17:04   seriesPPO-1     1
     2026-04-07 00:17:04   seriesPPO-2     2
     2026-04-07 00:17:04   seriesVF-1      1
     2026-04-07 00:17:04   seriesVF-2      1
     2026-04-07 00:17:04   seriesVF-3      2
     2026-04-07 00:17:04   seriesVF-4      1
     2026-04-07 00:17:04   standing-1      0:0
     2026-04-07 00:17:04   standing-2      0:0
     2026-04-07 00:17:04   standing-3      4:0
     2026-04-07 00:17:04   standing-4      4:1
     2026-04-07 00:17:04   standing-5      2:4
     2026-04-07 00:17:04   standing-6      4:2
     2026-04-07 00:17:04   standing-7      2:0
     2026-04-07 00:17:04   standing-8      1:2
     2026-04-07 00:17:04   standingHF-1    0:0
     2026-04-07 00:17:04   standingHF-2    0:0
     2026-04-07 00:17:04   standingPPO-1   2:0
     2026-04-07 00:17:04   standingPPO-2   1:2
     2026-04-07 00:17:04   standingVF-1    4:0
     2026-04-07 00:17:04   standingVF-2    4:1
     2026-04-07 00:17:04   standingVF-3    2:4
     2026-04-07 00:17:04   standingVF-4    4:2
     2026-04-07 00:17:04   winnerF-1       0
     2026-04-07 00:17:04   winnerHF-1      0
     2026-04-07 00:17:04   winnerHF-2      0
     2026-04-07 00:17:04   winnerPPO-1     1
     2026-04-07 00:17:04   winnerPPO-2     2
     2026-04-07 00:17:04   winnerVF-1      1
     2026-04-07 00:17:04   winnerVF-2      1
     2026-04-07 00:17:04   winnerVF-3      2
     2026-04-07 00:17:04   winnerVF-4      1
   REQUEST:
     context    reading
     data       
     header     
     ignoreredirects 0
     num        unknown
     retryCount 0
     type       update
     url        https://www.penny-del.org/spiele
   defptr:
     readingBase:
       name-1     reading
       name-10    reading
       name-11    reading
       name-12    reading
       name-13    reading
       name-14    reading
       name-15    reading
       name-16    reading
       name-2     reading
       name-3     reading
       name-4     reading
       name-5     reading
       name-6     reading
       name-7     reading
       name-8     reading
       name-9     reading
       nameHF-1   reading
       nameHF-2   reading
       nameHF-3   reading
       nameHF-4   reading
       nameHF-5   reading
       namePPO-1  reading
       namePPO-2  reading
       namePPO-3  reading
       namePPO-4  reading
       nameVF-1   reading
       nameVF-2   reading
       nameVF-3   reading
       nameVF-4   reading
       nameVF-5   reading
       nameVF-6   reading
       nameVF-7   reading
       nameVF-8   reading
       standing-1 reading
       standing-2 reading
       standing-3 reading
       standing-4 reading
       standing-5 reading
       standing-6 reading
       standing-7 reading
       standing-8 reading
       standingHF-1 reading
       standingHF-2 reading
       standingPPO-1 reading
       standingPPO-2 reading
       standingVF-1 reading
       standingVF-2 reading
       standingVF-3 reading
       standingVF-4 reading
     readingNum:
       name-1     01
       name-10    01
       name-11    01
       name-12    01
       name-13    01
       name-14    01
       name-15    01
       name-16    01
       name-2     01
       name-3     01
       name-4     01
       name-5     01
       name-6     01
       name-7     01
       name-8     01
       name-9     01
       nameHF-1   07
       nameHF-2   07
       nameHF-3   07
       nameHF-4   07
       nameHF-5   07
       namePPO-1  03
       namePPO-2  03
       namePPO-3  03
       namePPO-4  03
       nameVF-1   05
       nameVF-2   05
       nameVF-3   05
       nameVF-4   05
       nameVF-5   05
       nameVF-6   05
       nameVF-7   05
       nameVF-8   05
       standing-1 02
       standing-2 02
       standing-3 02
       standing-4 02
       standing-5 02
       standing-6 02
       standing-7 02
       standing-8 02
       standingHF-1 08
       standingHF-2 08
       standingPPO-1 04
       standingPPO-2 04
       standingVF-1 06
       standingVF-2 06
       standingVF-3 06
       standingVF-4 06
     readingOutdated:
     readingSubNum:
       name-1     -1
       name-10    -10
       name-11    -11
       name-12    -12
       name-13    -13
       name-14    -14
       name-15    -15
       name-16    -16
       name-2     -2
       name-3     -3
       name-4     -4
       name-5     -5
       name-6     -6
       name-7     -7
       name-8     -8
       name-9     -9
       nameHF-1   -1
       nameHF-2   -2
       nameHF-3   -3
       nameHF-4   -4
       nameHF-5   -5
       namePPO-1  -1
       namePPO-2  -2
       namePPO-3  -3
       namePPO-4  -4
       nameVF-1   -1
       nameVF-2   -2
       nameVF-3   -3
       nameVF-4   -4
       nameVF-5   -5
       nameVF-6   -6
       nameVF-7   -7
       nameVF-8   -8
       standing-1 -1
       standing-2 -2
       standing-3 -3
       standing-4 -4
       standing-5 -5
       standing-6 -6
       standing-7 -7
       standing-8 -8
       standingHF-1 -1
       standingHF-2 -2
       standingPPO-1 -1
       standingPPO-2 -2
       standingVF-1 -1
       standingVF-2 -2
       standingVF-3 -3
       standingVF-4 -4
     requestReadings:
       update:
         name-1     reading 01-1
         name-10    reading 01-10
         name-11    reading 01-11
         name-12    reading 01-12
         name-13    reading 01-13
         name-14    reading 01-14
         name-15    reading 01-15
         name-16    reading 01-16
         name-2     reading 01-2
         name-3     reading 01-3
         name-4     reading 01-4
         name-5     reading 01-5
         name-6     reading 01-6
         name-7     reading 01-7
         name-8     reading 01-8
         name-9     reading 01-9
         nameHF-1   reading 07-1
         nameHF-2   reading 07-2
         nameHF-3   reading 07-3
         nameHF-4   reading 07-4
         nameHF-5   reading 07-5
         namePPO-1  reading 03-1
         namePPO-2  reading 03-2
         namePPO-3  reading 03-3
         namePPO-4  reading 03-4
         nameVF-1   reading 05-1
         nameVF-2   reading 05-2
         nameVF-3   reading 05-3
         nameVF-4   reading 05-4
         nameVF-5   reading 05-5
         nameVF-6   reading 05-6
         nameVF-7   reading 05-7
         nameVF-8   reading 05-8
         standing-1 reading 02-1
         standing-2 reading 02-2
         standing-3 reading 02-3
         standing-4 reading 02-4
         standing-5 reading 02-5
         standing-6 reading 02-6
         standing-7 reading 02-7
         standing-8 reading 02-8
         standingHF-1 reading 08-1
         standingHF-2 reading 08-2
         standingPPO-1 reading 04-1
         standingPPO-2 reading 04-2
         standingVF-1 reading 06-1
         standingVF-2 reading 06-2
         standingVF-3 reading 06-3
         standingVF-4 reading 06-4
Attributes:
   alias      DEL Play-Off's
   enableControlSet 1
   group      Eishockey
   icon       Wunderlist
   reading01Name name
   reading01RegOpt g
   reading01Regex <\/div>\s*([\w+öäüÖÄÜ][ \wöäüÖÄÜ]+)\s*<\/div>
   reading02Decode utf-8
   reading02Name standing
   reading02RegOpt g
   reading02Regex <h3>(.*)<\/h3>
   reading03Name namePPO
   reading03RegOpt g
   reading03Regex (?:1. Playoff-Runde|(?!\A)\G)[\s\S]*?alt="([^"]+)"(?=[\s\S]*?footer)
   reading04Name standingPPO
   reading04RegOpt g
   reading04Regex (?:1. Playoff-Runde|(?!\A)\G)[\s\S]*?<h3>(.*)<\/h3>(?=[\s\S]*?footer)
   reading05Name nameVF
   reading05RegOpt g
   reading05Regex (?:alt="Viertelfinale"|(?!\A)\G)[\s\S]*?alt="([^"]+)"(?=[\s\S]*?1. Playoff-Runde)
   reading06Name standingVF
   reading06RegOpt g
   reading06Regex (?:Viertelfinale|(?!\A)\G)[\s\S]*?<h3>(.*)<\/h3>(?=[\s\S]*?1. Playoff-Runde)
   reading07Name nameHF
   reading07RegOpt g
   reading07Regex (?:Halbfinale|(?!\A)\G)[\s\S]*?alt="([^"]+)"(?=[\s\S]*?Viertelfinale)
   reading08Name standingHF
   reading08RegOpt g
   reading08Regex (?:Halbfinale|(?!\A)\G)[\s\S]*?<h3>(.*)<\/h3>(?=[\s\S]*?Viertelfinale)
   reading09Name nameF
   reading09RegOpt g
   reading09Regex (?:Finale|(?!\A)\G)[\s\S]*?alt="([^"]+)"(?=[\s\S]*?Halbfinale)
   reading10Name standingF
   reading10RegOpt g
   reading10Regex (?:Finale|(?!\A)\G)[\s\S]*?<h3>(.*)<\/h3>(?=[\s\S]*?Halbfinale)
   room       Information->Sport
   stateFormat name-1
   timeout    30
   userReadings winnerPPO-1 { my ($val1, $val2) = split(":", ReadingsVal($name,"standingPPO-1","0:0")); return "0" if ($val1 == $val2); return "0" if ($val1 < 2 && $val2 < 2); return ($val1 > $val2) ? "1" : "2"; }, winnerPPO-2 { my ($val1, $val2) = split(":", ReadingsVal($name,"standingPPO-2","0:0")); return "0" if ($val1 == $val2); return "0" if ($val1 < 2 && $val2 < 2); return ($val1 > $val2) ? "1" : "2"; },  winnerVF-1 { my ($val1, $val2) = split(":", ReadingsVal($name,"standingVF-1","0:0")); return "0" if ($val1 == $val2); return "0" if ($val1 < 4 && $val2 < 4); return ($val1 > $val2) ? "1" : "2"; }, winnerVF-2 { my ($val1, $val2) = split(":", ReadingsVal($name,"standingVF-2","0:0")); return "0" if ($val1 == $val2); return "0" if ($val1 < 4 && $val2 < 4); return ($val1 > $val2) ? "1" : "2"; }, winnerVF-3 { my ($val1, $val2) = split(":", ReadingsVal($name,"standingVF-3","0:0")); return "0" if ($val1 == $val2); return "0" if ($val1 < 4 && $val2 < 4); return ($val1 > $val2) ? "1" : "2"; }, winnerVF-4 { my ($val1, $val2) = split(":", ReadingsVal($name,"standingVF-4","0:0")); return "0" if ($val1 == $val2); return "0" if ($val1 < 4 && $val2 < 4); return ($val1 > $val2) ? "1" : "2"; },  winnerHF-1 { my ($val1, $val2) = split(":", ReadingsVal($name,"standingHF-1","0:0")); return "0" if ($val1 == $val2); return "0" if ($val1 < 4 && $val2 < 4); return ($val1 > $val2) ? "1" : "2"; }, winnerHF-2 { my ($val1, $val2) = split(":", ReadingsVal($name,"standingHF-2","0:0")); return "0" if ($val1 == $val2); return "0" if ($val1 < 4 && $val2 < 4); return ($val1 > $val2) ? "1" : "2"; },  winnerF-1 { my ($val1, $val2) = split(":", ReadingsVal($name,"standingF-1","0:0")); return "0" if ($val1 == $val2); return "0" if ($val1 < 4 && $val2 < 4); return ($val1 > $val2) ? "1" : "2"; },  seriesPPO-1 { my ($val1, $val2) = split(":", ReadingsVal($name,"standingPPO-1","0:0")); return "0" if ($val1 == $val2); return ($val1 > $val2) ? "1" : "2"; }, seriesPPO-2 { my ($val1, $val2) = split(":", ReadingsVal($name,"standingPPO-2","0:0")); return "0" if ($val1 == $val2); return ($val1 > $val2) ? "1" : "2"; },  seriesVF-1 { my ($val1, $val2) = split(":", ReadingsVal($name,"standingVF-1","0:0")); return "0" if ($val1 == $val2); return ($val1 > $val2) ? "1" : "2"; }, seriesVF-2 { my ($val1, $val2) = split(":", ReadingsVal($name,"standingVF-2","0:0")); return "0" if ($val1 == $val2); return ($val1 > $val2) ? "1" : "2"; }, seriesVF-3 { my ($val1, $val2) = split(":", ReadingsVal($name,"standingVF-3","0:0")); return "0" if ($val1 == $val2); return ($val1 > $val2) ? "1" : "2"; }, seriesVF-4 { my ($val1, $val2) = split(":", ReadingsVal($name,"standingVF-4","0:0")); return "0" if ($val1 == $val2); return ($val1 > $val2) ? "1" : "2"; },  seriesHF-1 { my ($val1, $val2) = split(":", ReadingsVal($name,"standingHF-1","0:0")); return "0" if ($val1 == $val2); return ($val1 > $val2) ? "1" : "2"; }, seriesHF-2 { my ($val1, $val2) = split(":", ReadingsVal($name,"standingHF-2","0:0")); return "0" if ($val1 == $val2); return ($val1 > $val2) ? "1" : "2"; },  seriesF-1 { my ($val1, $val2) = split(":", ReadingsVal($name,"standingF-1","0:0")); return "0" if ($val1 == $val2); return ($val1 > $val2) ? "1" : "2"; },
   userattr   .*
   verbose    3

Das Ganze war ja eine Entwicklungsarbeit die immer weiter - auch der dank der Hilfe hier - voran gekommen ist. Zuerst bekoam ich mit regex101.com Treffer angezeigt, aber die Readings im Device blieben leer, so dass ich keine Lösung hatte weshalb ich die Überschrift so gewählt habe. Im Zuge der Entwicklung ist mir dann aufgefallen, dass die Readings nicht leer waren sondern mit den Leerzeichen gefüllt wurden und in der Weboberfläche von Fhem nur leer aussahen.
Zu deiner konkreten Frage und damit man nicht das ganze List durchgehen muss hier die Regex für die einzelnen Readings als Bildschirmfoto (ist schneller als alle einzelnd in Codeblöcke zu schreiben).:
Du darfst diesen Dateianhang nicht ansehen.

Die Readings lauten damit nun "name" bzw. "standing", jeweils gefolgt von der Rundenbezeichnung, also namePPO, nameVF, nameHF und nameF bzw. das Ganze eben auch beim standing.

Das ergibt für jede Runde eine separate Ausgabe der Mannschaftsnamen udn Serienergebnisse, so dass die erste Mannschaft im Virtelfinale auch die 1. Mannschaft im Viertelfinale bleibt wenn das Halbfinale hinzugefügrt wird/wurde. So kann ich sicherstellen, dass sich die Namen der einelnen Readings eben nicht ändern und auch in meiner grafischen Auswertung im FTUI3 darauf zugreifen ohne Angst haben zu müssen, dass es mir alles zerschießt wenn der Seite die nächste Runde hinzugefügt wird.

Ich hoffe damit sind deine Fragen beantwortet, ansonsten musst du noch mal genauer sagen was du gerne sehen möchtest.