Eine Frage noch: was heißt U = nicht gierig?
In deinem Fall nicht relevant, da du ja nach exakten strings suchst. Aber bei Mustern ist das Verhalten von PHP per default "gierig", dh. es wird versucht so viel wie möglich zu finden.
Wenn du z.B. "foo(.*)bar" suchst - (.*) ist eine bliebige Zeichenkette . (beliebies Zeichen) * (0x oder öfter) - wird in folgendem string "foo baz bar baz bar" im gierigen Fall " bar baz bar " gefunden, im nicht gierigen Fall " bar ".
Sprich "gierig" versucht so viel wie möglich zu finden, "nicht gierig" so wenig wie möglich.