Felix Riesterer: Lösung

Beitrag lesen

Lieber Max,

Ich verstehe nicht warum es funktioniert.
... in dem angegebenen Beispiel machen sie es absolut genauso wie ich

da ist ein Denkfehler. Wenn man exec() anwendet, dann findet es _einen_ Treffer, wenn überhaupt. Sollte der Ausdruck Klammern haben, dann gibt es ein Array, in dem es mehrere Felder (für jeden geklammerten Ausdruck eines) geben kann. In Deinem Beispiel ohne Klammern gibt "result" eben nur einen Treffer, daher ist result.length=1.

Du gehst in Deinem OP davon aus, dass nach einmaligem exec() in "result" jetzt _alle_ _möglichen_ Treffer stehen. Dem ist natürlich nicht so. Wenn Du das Beispiel aus dem SELFHTML-Artikel, bzw. mein Beispiel anschaust, dann wird in diesen while-Schleifen immer wieder exec() angewandt (und nicht nur wie bei Dir durch das Ergebnis-Array iteriert) und es findet jedesmal einen neuen Teiltreffer. Das ist der wesentliche Unterschied zwischen Deinem Beispiel und dem von SELFHTML/mir.

Liebe Grüße aus Ellwangen,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)