Es findet genau ein Match statt (<table>(?:<tr><td>([^<]*)</td></tr>)+</table> muß ja das öffnende und schließende Tag von table matchen, diese sind nur einmal vorhanden, also gibt es nur ein match).
Das Table-Tag soll ja nicht gematched werden, lediglich der Zelleninhalt darin. Da dachte ich, man könne mit regulären so nahezu alles machen, nun kann ich eine simple Tabelle nicht mal mit einem Pattern auslesen lassen. Irgendwie ist mein Weltbild getrübt...