Mailinglisten-Archive |
ANGEL Harald wrote: > Hallo Yannik? > >> Aber nimm doch (.*?) also mit dem Fragezeichen zur Umkehrung der >> Gierigkeit. Sonst bekommen deine Skripte schnell luistige neue Features, >> wenn mehr als ein [code]-Tag im Text ist :-). > > Oh Gott bist du Hellseher? *fg* > Ich wollt grad retour schreiben dass das mit mehr als einem "CODE" ned funzt ;) > > Ich versteh nur nicht ganz warum das ? hier hilft. > "?" steht ja für optional.. geht mir nicht ganz ein warum er dann beide "Code-Blöcke" findet, wenn ich (.*?) anstelle von (.*) verwende... Neine, in dem Fall steht es nicht für Optional. Wenn das Fragezeichen hinter einem Quantifizierer steht, kehrt es die Gierigkeit um. Per Standard nimmt sich * nämlich soviel er kann $string ='baabaab'; /b.*b/ .* das Stern nimmt sich soviele Buchstabe wie es geht. Also komtm als Ergbnis: baabaab raus. Der komplette String. /b.*?b/ führt zu: baab Passt ja auch auf das Regex. Nur, dass sich das * nun nur so wenig nimmt wie möglich :-). Ein Fragezeichen kann übrigens auch ein konfitionales Regex einführen: (?...|...|...) Oder die 4 möglichen Assertions einleiten: ...(?=...) ...(?!...) (?<=...)... (?<!...)... Oder zum einleiten eines nicht-registreirten Subpatterns: (?...) Oder zum einleiten eine Modifikators (?Modifikator). (Also (?i) stellt beispielsweise das beachten von Gross und Kleinschreibung ein. (?-i) stellt es aus :-). > > harald > Yannik
php::bar PHP Wiki - Listenarchive