Herbert: Frage zu Regex-String-Durchsuchung

Hallo,

und zwar habe ich das Problem, dass ich prüfen muss, ob drei Strings (zb. foobar, "beispiel0" und l1a11ala), welche sich immer in einer unterschiedlichen Reihenfolge befinden, in einem Text enthalten sind.

Ich weiss, dass ich dafür reguläre Ausdrücke und preg_match(); verwenden kann, bzw. muss. Allerdings kapiere ich das nicht so richtig, wie ich die jetzt einzusetzen habe... :(

Kann mir da vielleicht jemand schnell den Regex schreiben? Wäre super, danke!

Viele Grüße
Herbert

  1. ....dass ich prüfen muss, ob drei Strings (zb. foobar, "beispiel0" und l1a11ala), welche sich immer in einer unterschiedlichen Reihenfolge befinden, in einem Text enthalten sind.
    Ich weiss, dass ich dafür reguläre Ausdrücke und preg_match(); verwenden kann, bzw. muss. Allerdings kapiere ich das nicht so richtig, wie ich die jetzt einzusetzen habe... :(

    Kann mir da vielleicht jemand schnell den Regex schreiben? Wäre super, danke!

    in Perl ging's so

    my result = 'bad';
    if(string =~ /foo/){
      if(string =~ /bar/){
        if(string =~ /soup/)[
          $result='good';
        }
      }
    }

    kann man auch in einer linie schreiben mit AND
    PHP hat vielleicht verschiedene Syntax
    mfg Beat

  2. Hallo!

    und zwar habe ich das Problem, dass ich prüfen muss, ob drei Strings (zb. foobar, "beispiel0" und l1a11ala), welche sich immer in einer unterschiedlichen Reihenfolge befinden, in einem Text enthalten sind.

    if(preg_match("/foobar|beispiel0|l1a11ala/", $string))
      {
        echo "gefunden"!
      }

    Groß- und Kleinschreibung wird hier beachtet.

    MfG, André Laugks

    --
    L-Andre @ gmx.de
    1. N'Obend

      und zwar habe ich das Problem, dass ich prüfen muss, ob drei Strings (zb. foobar, "beispiel0" und l1a11ala), welche sich immer in einer unterschiedlichen Reihenfolge befinden, in einem Text enthalten sind.

      /foobar|beispiel0|l1a11ala/

      fragt nur ob einer der Strings enthalten ist, nicht ob alle drei gleichzeitig enthalten sind

      Allerdings bin ich mir gerade auch über die Fragestellung nich mehr ganz im klaren...
      Sollen alle drei drin sein, oder willst du nur wissen welche davon? Oder reicht einer (dann stimmt das da oben natürlich).
      Willst du wissen welcher drin ist könntest du über Backreferences arbeiten.

      Ich bin allerdings nicht der Reg-Experte um dir definitiv was angeben zu können.

      Tschö,
      dbenzhuser

      1. ALLE drei Wörte müssen in dem String vorkommen. Das ist auch das Problem... :(