Frage zu regulären Ausdrücken...
Hallo Liste!
Suche einen regul=C3=A4ren Ausdruck, der in einem Latex-Dokument sowohl so
etwas:
\section{bla}
\section*{bla}
als auch so etwas:
\glqq{}
matcht.
Bei letzterem hat mein bisher verwendeter Ausdruck noch Probleme.
Momentan verwende ich:
#\\\\([a-zA-Z0-9\*]+)\{(.+?)\}#i
in preg_match_all.
Kann mir jemand einen Tipp geben, wie ich den hinteren Teil: \{(.+?)\}
so um=C3=A4ndern kann, damit es auch leere geschweifte Klammern matcht?
Danke schon im Voraus!
Marcus Kober.
Re: Frage zu regulären Ausdrücken...
Marcus Kober schrieb:
>Kann mir jemand einen Tipp geben, wie ich den hinteren Teil: \{(.+?)\}
>so umändern kann, damit es auch leere geschweifte Klammern matcht?
* statt + ?
(sorry, habs mir jetzt nicht näher angeschaut)
--
Wolfgang Fellger
Re: Frage zu regulären Ausdrücken...
"Wolfgang Fellger" <wfnews [at] web.de> schrieb:
> * statt + ?
> (sorry, habs mir jetzt nicht n=C3=A4her angeschaut)
Nein, leider nicht, denn dann wird der Ausdruck zu gierig...
Re: Frage zu regulären Ausdrücken...
Marcus Kober wrote:
> "Wolfgang Fellger" <wfnews [at] web.de> schrieb:
>
>> * statt + ?
>> (sorry, habs mir jetzt nicht näher angeschaut)
>
> Nein, leider nicht, denn dann wird der Ausdruck zu gierig...
wie wärs dann mit:
#[..]#iu
Grüße
Johannes
--
Emails ohne "[nospam]" im Betreff werden kommentarlos gelöscht.
Re: Frage zu regulären Ausdrücken...
"Johannes Mueller" <johannes_m [at] gmx.net> schrieb:
> wie w=C3=A4rs dann mit:
> #[..]#iu
Hm, das, in meinen Ausdruck eingebaut gibt folgenden Fehler:
"POSIX collating elements are not supported at offset ..."
Was genau macht das "u"?
Gr=C3=BC=C3=9Fe!
Marcus Kober.
Re: Frage zu regulären Ausdrücken (Gelöst)
"Johannes Mueller" <johannes_m [at] gmx.net> schrieb:
> wie w=C3=A4rs dann mit:
> #[..]#iu
Danke f=C3=BCr den Ansatz! Das "U" muss nur gro=C3=9F geschrieben werden, d=
ann
stehts f=C3=BCr "ungreedy".
Der richtige Ausdruck f=C3=BCr mich ist also:
#\\\\([a-zA-Z0-9\*]+)\{(.*)\}#iU
Matcht f=C3=BCr mich alles so, wie ich das brauche.
Vielen Dank und gute Nacht! :)
Gr=C3=BC=C3=9Fe!
Marcus Kober.
Re: Frage zu regulären Ausdrücken...
Marcus Kober schrieb:
>Nein, leider nicht, denn dann wird der Ausdruck zu gierig...
Vielleicht hätt ich Anführungszeichen drummachen sollen - das Fragezeichen
gehörte zum Satz ;-)
In deinem Ausdruck soll das Fragezeichen nach dem * natürlich stehenbleiben,
das ist grade der "Ungreedy"-Modifikator.
--
Wolfgang Fellger
Re: Frage zu regulären Ausdrücken...
"Wolfgang Fellger" <wfnews [at] web.de> schrieb:
> Vielleicht h=C3=A4tt ich Anf=C3=BChrungszeichen drummachen sollen - das
> Fragezeichen geh=C3=B6rte zum Satz ;-)
> In deinem Ausdruck soll das Fragezeichen nach dem * nat=C3=BCrlich
> stehenbleiben, das ist grade der "Ungreedy"-Modifikator.
Ja, das hab ich gestern in der Nacht dann auch noch ausprobiert. :)
Keine Ahnung, warum mir nicht gleich eingefallen ist, mein .+? in
ein .*? umzuwandeln... :) Manchmal sitzt man eben ein wenig auf der
Leitung oder sieht den Wald vor lauter B=C3=A4umen nicht. ;)
Danke trotzdem nochmal! :)
Gr=C3=BC=C3=9Fe und frohe Weihnachten schon mal...
Marcus Kober.