Hallo Rolf,
Aber nicht nur. Man muss noch auf die Gierigkeit der Quantifizierer aufpassen Ein Pattern wie
\([^)]+\)
findet in "Das ist (heute) nicht (naja) bestes Wetter" den Substring "(heute) nicht (naja)". Um das zu verhindern, muss man dem Quantifizierer die Gier abgewöhnen, entweder durch ein nachgestelltes Fragezeichen am Quantifizierer oder durch die lokale Regex-Option U.
Nein, das stimmt nicht. /\([^)]+\)/
findet: Klammer-auf, alles ausser Klammer zu, Klammer zu. Die schliessende Klammer nach „heute” ist also die Abbruchbedingung, die auch durch Greedyness nicht umgangen werden kann.
Das Pattern wäre also "/ ([^)]?) */U", sprich: eventuell Leerraum, dann der Klammerausdruck, dann eventuell nochmal Leerraum.
Damit entfernst du alle Spaces zwischen den Wörtern. Das erste *
muss weg. Und bzgl. des U habe ich ja oben schon etwas geschrieben.
LG,
CK