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

Beitrag lesen

Hallo Christian

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.

<?php  error_reporting(E_ALL);

$text = 'Ich liebe Vorname Nachname.
Ich liebe meine Frau vorzugsweise. Ich liebe nicht ist doch egal. Ich liebe php ob man dass liebe nennen soll.';

preg_match_all ('=Ich liebe (?!nicht)[A-Za-z ]*\.=', $text, $matches);

print_r($matches);

/* Ausgabe

Array
(
    [0] => Array
        (
            [0] => Ich liebe Vorname Nachname.
            [1] => Ich liebe meine Frau vorzugsweise.
            [2] => Ich liebe php ob man dass liebe nennen soll.
        )

)

*/

?>

Danke

Bitte

Christian

ich auch ;-)

Gruß
  Christian