Ankündigung

Einklappen
Keine Ankündigung bisher.

Regex funktioniert nicht

Einklappen

Neue Werbung 2019

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

  • Regex funktioniert nicht

    Hi,

    ich bin in Sachen Regex nicht gut und habe jetzt schon viell probiert.

    Ich habe einen String nach dem Motto:

    +key1-key2-key3 .... +keyN

    Jedes Suchwort ist ein + oder - angehängt. Diesen String möchte ich nun in ein array lesen, das dann folgende Elemente enthält:

    +key
    -key2
    -key3
    ...
    +keyN

    Das ist meine letzte Version:

    PHP-Code:
    $line "+henne-ei+huhn";

    $res preg_split('/(\+[^-\+]|-[^-\+])/'$line);

    print_r($res); 
    +|- darf einmal vorkommen und danach darf jedes Zeichen vorkommen außer + und -. Also auch mehrere Wörter am Stück. An meinem Beispiel sollte er also

    +henne
    -ei
    +huhn

    zurückgeben.

    Ich denke nicht das mein Regexansatz so verkehrt ist, weiß aber nicht mehr weiter.

    Smilla


  • #2
    Verwende PHP: preg_match_all - Manual
    http://hallophp.de

    Kommentar


    • #3
      Vielen Dank für den Tipp. Durch das ändern der Funktion gab es Ouput und ich konnte die letzte Anpassung vornehmen. Schaut nun so aus:

      PHP-Code:
      preg_match_all('/(\+[^-\+]*|-[^-\+]*)/'$line$res); 

      Kommentar


      • #4
        Das ODER-Konstrukt kannst du auch weglassen und den Ausdruck etwas vereinfachen:
        Code:
        /[\+\-][^\+\-]*/
        http://hallophp.de

        Kommentar


        • #5
          Ich glaube in Klassen muss man beide Zeichen nicht escapen. - muss allerdings am Rand stehen.
          --

          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


          --

          Kommentar

          Lädt...
          X