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

  • smilla
    hat ein Thema erstellt Regex funktioniert nicht.

    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

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

    Einen Kommentar schreiben:


  • Asipak
    antwortet
    Das ODER-Konstrukt kannst du auch weglassen und den Ausdruck etwas vereinfachen:
    Code:
    /[\+\-][^\+\-]*/

    Einen Kommentar schreiben:


  • smilla
    antwortet
    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); 

    Einen Kommentar schreiben:


  • Asipak
    antwortet
    Verwende PHP: preg_match_all - Manual

    Einen Kommentar schreiben:

Lädt...
X