Regex problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Regex problem

    Ich habe ein Problem mit meinem Parser. Ich wollt ihn um eine Funktionalität erweitern und dafür benötige ich solche Konstrukte:

    Code:
    {foo{foo2}}
    Das Problem ist nun das der Parser wie er ist folgendes findet und parst:

    Code:
    {foo{foo2}
    Is es möglich folgendes als Regex zu formulieren:

    Code:
    Suche {} wenn aber nach der ersten { eine weitere { erscheint suche die 2. } nach der zweiten {
    Bisher hab ich es so:
    preg_match_all("/{(.*)}/U", $this->file, $this->found);

    Ich muß dazu sagen, ich bin super schlecht in Regex Gehts zum einen überhaupt was ich vor habe und wenn ja WIE?

  • #2
    das prinzip ist hier beschrieben:
    http://www.php-resource.de/forum/sho...threadid=45908
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Vielen Dank, das ist genau das was ich suche.

      Stellt sich allerdings für mich die Frage wie ich es hinkriege das er statt die { } verwendet

      Ich habs jetzt den ganzen abend rumprobiert und es bestenfalls so hinbekommen das er [{] [/}] findet und ersetzt.

      Wie krieg ichs also hin!?

      PHP-Code:
          $pattern     '#\[quote \]((([^\[]*)|(?R))*)\[/quote \]#isUe'

      Kommentar


      • #4
        hmm,

        ich wollte gerade die mißverständlichkeit deiner aussage monieren, habe aber im quote gesehen, was du geschrieben hast ...

        Code:
        \{((([^\{]*)|(?R))*)\}
        sollte als ansatz funktionieren ...
        http://pcre.nophia.de/evaluate/e1fc7...dex.php#output

        oder wodrum gehts dir jetzt?
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar

        Lädt...
        X