Kann mir einer vielleicht bei der Lösung eines Problems helfen? Ich benutze für eine Skripte reguläre Ausdrücke um sie auf Korrektheit zu prüfen (z.B. für eine richtige Formatierung eines Datums). Jetzt frage ich micht, ob ich komplette Wörter in einem beliebigen String verbieten kann.
Der reguläre Ausdruck sollte false bei $string1 also false zurückgeben und bei $string2 true. Aber nur bei "plöder Idiot" alles andere soll erlaubt sein. Geht das mit regulären Ausdrücken? Mit PHP kann man es ja leicht abfangen, aber dafür müsste ich einiges umprogrammieren und diese Arbeit will ich mir eigentlich sparen...
Wer glaubt, ein Christ zu sein, weil er die Kirche besucht, irrt sich. Man wird ja auch kein Auto, wenn man in eine Garage geht.
Albert Schweitzer
Klar geht das, Dein regulärer Ausdruck besteht dann einfach aus "plöder Idiot". Für String 1 wäre das Ergebnis dann zwar "true" (und für String 2 "false"), aber das kannst Du dann ja einfach negieren. Wobei ich mir gerade nicht sicher bin, ob der Umlaut Probleme machen könnte.
Ohne den gerinsten Plan von PHP würd ich mal vermuten, dass das ^ an der falschen Stelle ist. Es muss nicht in den String, sondern unmittelbar vor die Bedingung.
khrismuc hat geschrieben:Ohne den gerinsten Plan von PHP würd ich mal vermuten, dass das ^ an der falschen Stelle ist. Es muss nicht in den String, sondern unmittelbar vor die Bedingung.
aber wie gesagt steht das skript fest und ich will das mithilfe des regulären ausdrucks (und dieser reguläre ausdruck ist die eigentliche bedingung) abfangen.
Wer glaubt, ein Christ zu sein, weil er die Kirche besucht, irrt sich. Man wird ja auch kein Auto, wenn man in eine Garage geht.
Albert Schweitzer
if (^Bedingung) ...[/quote]
In regulären Ausdrücken bedeutet ^ was anderes, als in C. Habe gerade beim Überfliegen der RegExp-Doku nichts gefunden. (Text) matcht offenbar Text, aber irgendwie scheinen reguläre Ausdrücke kein "nicht" zu kennen...
Das Jan
"If you are the smartest person in the room, you are in the wrong room."
zeebee hat geschrieben:aber wie gesagt steht das skript fest und ich will das mithilfe des regulären ausdrucks (und dieser reguläre ausdruck ist die eigentliche bedingung) abfangen.
Das wird meines Wissens nicht klappen. Es ist (außer wahrscheinlich in Pearl) oftmals nicht möglich, einen regulären Ausdruck zu negieren, ohne auf die Negation der "Host-Sprache" zurückzugreifen.
zeebee hat geschrieben:aber wie gesagt steht das skript fest und ich will das mithilfe des regulären ausdrucks (und dieser reguläre ausdruck ist die eigentliche bedingung) abfangen.
Das wird meines Wissens nicht klappen. Es ist (außer wahrscheinlich in Pearl) oftmals nicht möglich, einen regulären Ausdruck zu negieren, ohne auf die Negation der "Host-Sprache" zurückzugreifen.
okay, dann komme ich wohl drum herum... vielen dank!
Wer glaubt, ein Christ zu sein, weil er die Kirche besucht, irrt sich. Man wird ja auch kein Auto, wenn man in eine Garage geht.
Albert Schweitzer