Seltsamerweisse wird nur der Zelleninhalt der letzten Zelle (im Bsp: Wert Z) gematched, alle anderen Zellen werden scheinbar nicht gefunden. Was muss ich ändern, damit der Ausdruck auf jede Zeile der Tabelle angewandt wird?
Was für ein Ergebniss erwartest du eigentlich? Einen Array mit den Texten der jeweiligen Tabellenzeilen oder vielleicht einen String, in dem der Inhalt aller Tabellenzeilen aneinandergehängt wird?
(?:<tr><td>([^<]*)</td></tr>)+
Das '+' am Ende dieses Regexschnipsels sorgt dafür, dass das, was in der Klammer steht, mindestens einmal ausgeführt wird. D.h. zuerst matched der Regex '<tr><td>' dann kommt ein Subpattern, der auf alle Möglichen Zeichen außer '<' matched, dann wird der Subpattern in einer Variable gespeichert. Schlussendlich wird dann noch auf '</td></tr>' gematcht und das was in der Klammer, wenn möglich, noch einmal ausgeführt. Bei jedem Durchgang des Klammerninhalts wird der darin enthaltene Subpattern ausgeführt und immer IN DER SELBEN VARIABLE gespeichert. So ergibt es sich, dass am Ende nur der Inhalt der letzten Tabellenzeile in der Subpatternvariable steht.
mfg
Rato
--
§§§
Meine Postings basieren lediglich auf mein Wissen und können völliger Blödsinn sein.
§§§