thomaspaß: rekursiv preg_match mit ersetzung

Hallo,

ich habe einen String, in diesem wird mit preg_match nach
$ eine Zahl $ gesucht.

Zahl ist dann ein Key in einem Array und $ eine Zahl $ soll durch dessen Wert ersetzt werden.

Nun kann dies aber endlos verschachtelt sein, sprich in dem Neu ersetzten $ eine Zahl $ aus dem Array kann wieder ein $ eine Zahl$ stehen, auch dieses soll wieder ersetztz werden.

Wie geht man soetwas an?

Gruß

  1. Hello,

    Hallo,

    ich habe einen String, in diesem wird mit preg_match nach
    $ eine Zahl $ gesucht.

    bitte zeige einen Mustertext und das Pattern für preg_match

    Zahl ist dann ein Key in einem Array

    soweit kann ich Dir folgen

    und $ eine Zahl $ soll durch dessen Wert ersetzt werden.

    Hier fehlen entweder bedeutende Satzziechen, der Satz ist durcheinandergekommen oder du sprichst eine Sprache, die ich nicht verstehe.

    Nun kann dies aber endlos verschachtelt sein,

    Das kann ich mir nun wieder (fast) vorstellen

    sprich in dem Neu ersetzten $ eine Zahl $ aus dem Array kann wieder ein $ eine Zahl$ stehen, auch dieses soll wieder ersetztz werden.

    da ist es wieder, das Problem mit der Sprache...

    Rekursion ist aber nicht notwendig, sondern nur ein zirkulärer Verlauf, also eine Schleife.
    Rekursion ist nur notwendig, wenn keine serielle Abarbeitung möglich sit, wenn also Ergbenisse einer Auflösung mehrwertig werden können. Wenn alle Ersetzungen aber nur einwertig bleiben, also immer nur maximal _ein_ Wert durch Ersetzung folgt, dann ist keine Rekursion notwenig.

    Liebe Grüße aus Syburg bei Dortmund

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. sprich in dem Neu ersetzten $ eine Zahl $ aus dem Array kann wieder ein $ eine Zahl$ stehen, auch dieses soll wieder ersetztz werden.

      da ist es wieder, das Problem mit der Sprache...

      Rekursion ist aber nicht notwendig, sondern nur ein zirkulärer Verlauf, also eine Schleife.
      Rekursion ist nur notwendig, wenn keine serielle Abarbeitung möglich sit, wenn also Ergbenisse einer Auflösung mehrwertig werden können. Wenn alle Ersetzungen aber nur einwertig bleiben, also immer nur maximal _ein_ Wert durch Ersetzung folgt, dann ist keine Rekursion notwenig.

      Ich habe ebenfalls versucht, das Vorhaben zu verstehen, und habe folgende Tücke gefunden:

      Eine Endlosschleife droht.

      Ich verwende Perlcode, aber das Problem bleibt das gleiche
      $test = "gib mir eine 1";
      @array= ('a', 'b', 'c', 'd','e');
      %hash = (
           a => 'gib mir eine 1',
           b => 'gib mir eine 0',
      );

      Ablauf der Ersetzung:

      $test = "gib mir eine 1"

      in $array[1] = b

      $test = "gib mir eine gib mir eine 0"

      in $array[0] = a

      $test = "gib mir eine gib mir eine gib mir eine 1"

      in $array[1] = b

      ...
      ...
      ...

      mfg Beat

      --
      Woran ich arbeite:
      [link:http://www.elcappuccino.ch/cgi/tok.pl?extern=1-pub-com3306-1@title=X-
      ><o(((°>      ><o(((°>
         <°)))o><                      ><o(((°>o