hawkmaster: Regulärer Ausdruck, Hilfe gesucht

Beitrag lesen

Hallo Uwe,
vielen herzlichen Dank für deine Erklärung.
Etwas klarer ist es mir geworden.
So klappt es nun mit allem.

if (preg_match_all("#\OpenUI[^ ]* \".$element."(/(.*?):|:) (.*?)\CloseUI[^ ]*: \".$element."#s", $string1, $contents)){

So wird der Abschnitt:

*OpenUIUWP *EFRange/Bereich:PickOne
*OrderDep: 70.0
*EFPageRange All/Alle: ".....
....
....
*End
*CloseUIUWP: *EFPageRange

als auch:

*OpenUI *EFRange/Bereich:PickOne
*OrderDep: 70.0
*EFPageRange All/Alle: ".....
....
....
*End
*CloseUI: *EFPageRange

Ich dachte allerdings zuerst ich müsste es so schreiben:

if (preg_match_all("#\OpenUI[^ ]*\".$element......
also ohne zusätzlicher Leerstelle
\OpenUI[^ ]*\
anstatt richtig:
\OpenUI[^ ]* \

Deine Syntax mit [^ ]* bedeutet doch eigentlich "Kein oder mehrere Leerzeichen" oder?
Dann müsste es doch eigentlich auch mit \OpenUI[^ ]*\  funktionieren?

Und bei dem CloseUI war ich mir ganz unsicher denn zwischen CloseUI und dem Doppelpunkt : kommen doch eigentlich nie Leerzeichen vor sondern andere Zeichen.

Hm, ich werde nochmals darüber grübeln bis ich es richtig kapier. Die Reguläre Ausdrücke sind manchmal wirklich nicht leicht zu verstehen.

vielen Dank und viele Grüße
hawk