Am 11. Juni 2010 14:01 schrieb GS <[email protected]>: > problem dabei ist, dass statt des anführungszeichens nach user="xyz > schon mal ein paar weiter gesprungen wird. das ergebnis des regex sieht dann > so aus (für user): > > MichaH" lat="50.0693044 > > der regex "stoppt" also zu spät. > > wie kommt das? warum nimmt er lon=xxx nicht auch dazu und vor allem: > > wie mache ich es richtig?
Grund ist dass Regex per default greedy sind, also so viel wie möglich matchen wie der Ausdruck gerade noch passt. Du kannst das umgehen indem du beispielsweise / user=\"(.+?)\"/ oder auch / user=\"([^\"]+)\"/ schreibst Lies dir mal http://search.cpan.org/~rgarcia/perl/pod/perlretut.pod bezüglich greedy quantifiers durch. Und schau dir mal den Regex Coach (http://www.weitz.de/regex-coach/) an. Damit kannst Du Ausdrücke interaktiv testen. Rolf _______________________________________________ Talk-de mailing list [email protected] http://lists.openstreetmap.org/listinfo/talk-de

