norman: regulärer ausdruck

einen wunderschönen!

es sollen alle einträge gefiltert werden, die nicht "html" enthalten:

my @strings = ("abc.html xxx","abc.pl","xxx.html");

foreach(@strings) {
if ($_ =~ /[^html]/i) { print $_ ." raus\n";}
}

-> das script funkt irgendwie nicht???

viele grüsse
norman

  1. Sup!

    foreach(@strings) {
    if ($_ =~ /[^html]/i) { print $_ ." raus\n";}
    }

    -> das script funkt irgendwie nicht???

    Irgendwie suchst Du Zeichenketten, die Buchstaben, die nicht h, t, m oder l sind, enthalten, scheint es.

    Gruesse,

    Bio

    --
    Elite ist mein zweiter Vorname
  2. Hallo,

    my @strings = ("abc.html xxx","abc.pl","xxx.html");
    foreach(@strings) {
    if ($_ =~ /[^html]/i) { print $_ ." raus\n";}
    }

    Du prüfst, ob in deinen Strings kein h, t, m oder l enthalten ist. Versuche es mal so:
    unless($_ =~ /html/ig) { # deine Fehlermeldung }

    Hoffe es hilft
    Torsten

  3. Moin Moin !

    einen wunderschönen!

    es sollen alle einträge gefiltert werden, die nicht "html" enthalten:

    my @strings = ("abc.html xxx","abc.pl","xxx.html");

    foreach(@strings) {
    if ($_ =~ /[^html]/i) { print $_ ." raus\n";}
    }

    -> das script funkt irgendwie nicht???

    Kunststück!
    Hat ja auch keine Antenne, dann kann es ja nicht funken.

    Du willst alles finden, was keinen der Buchstaben h, l, m und t enthält?

    Nein?

    Das hast Du aber geschrieben.

    Du suchst alles, was html enthält und negierst das dann.

    !~ statt =~ sollte dir schonmal weiterhelfen, und die eckigen Klammern und das Caret sind einfach über.

    viele grüsse
    norman

    Alexander

    --
    Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
  4. erstma schönen dank fürs, schnelle antworten!

    die !~ syntax ist mir bekannt, aber gibts ne möglichkeit, das prob auch ohne "!~" zu lösen, weil: $_ =~ /$dynamisch/

    norman