phpbar.de logo

Mailinglisten-Archive

Re: [php] Regex-Frage - preg match all()

Re: [php] Regex-Frage - preg match all()

Tim Hildebrandt TConnect at gmx.net
Sam Aug 20 00:12:44 CEST 2005


Hallo Lars,


> ><a[^>].*display:([a-z]+).*class:([-a-z0-9_]+).*>(.*)</a>


> liegt sicherlich an der "gierigkeit" (vgl. greedy) des * tokens.  heisst 
> das es auch das ">" verschluckt.

Ich habe das ganze erst einmal im Regex Coach ausprobiert und darin kann man
/U irgendwie nicht setzen. Jedenfalls nicht in Version 0.6.7

> du kannst die "gierigkeit" für den gesamten ausdruck unterbinden mit dem 
> /U /Modifikator (in php) oder direkt, indem du ein ? direkt hinter dem 
> entsprechenden * positionierst (geht auch für +), also *?

Das hat gar nicht funktioniert. Aber: Was seltsamerweise auf Anhieb geklappt
hat, war:


<a[^>].*display:([a-z]+).*class:([-a-z0-9_]+).*>(.+)</a>

also das + im letzten Operator (.+) statt (.*)

Weiß der Geier, warum jetzt plötzlich auch die schließende Klammer mit
gefunden wird. Ich habe jedenfalls nichts ansonsten geändert. Vielleicht
weiß ja jemand hier in der Liste, warum dies so ist.




> gruß lars

Gruß Tim

-- 
Lust, ein paar Euro nebenbei zu verdienen? Ohne Kosten, ohne Risiko!
Satte Provisionen für GMX Partner: http://www.gmx.net/de/go/partner

php::bar PHP Wiki   -   Listenarchive