Christian: (RegExp) Alles finden wo NICHT "xyz" drin vorkommt

Beitrag lesen

Hi,

kann mir einer beim zusammenbasteln eines regulären Ausdrucks helfen??

Ich habe einen langen String, in dem ich nach einem Suchmuster alle Matches raussuche. Dazu benutze ich die Funktion preg_match_all.

Nun sind einige Matches sehr ähnlich, und unterscheiden sich nur durch eine bestimmte Zeichenkette an einer bestimmten Stelle.

Wie kann ich nun alles das finden, was zwar dem Suchmuster entspricht, aber nicht die Zeichenkette besitzt??

Bsp:

ich suche alles nach "/Ich liebe [a-zA-Z ]*./" .
Das sollte alle Sätze finden, wo steht "Ich liebe Vorname Nachname." XYZ sei dann mal irgendeine Buchstabenfolge.

Dann gebe es aber auch Sätze die so sein können:
"Ich liebe nicht Vorname"

Oben genanntes Suchmuster könnte das ja nicht unterscheiden!

Wie mach ich es also das alles gefunden wird, was mit "Ich liebe" anfängt, dann nicht die Zeichenkette "nicht" enthält, und dann beliebige Buchstaben und Whitespaces hat.

Habe schon probiert mit ^ (negation)

Aber Konstrukte wie (^nicht) oder ^(nicht) oder [1] oder [^nicht] haben alle nichts gebracht!

Wer weiß Rat??

Habt ihr auch einen Link für Reg Exp??

Danke
Christian


  1. nicht ↩︎