Hallo Andreas,
/Auswahl=(.*?)[^\w%.+_-]/
Nee, das ist Unfug.
Warum? "finde alle Zeichen bis zum nächsten Zeichen außer
Buchstaben, Zahlen, %, ., +, _ und -". Andere Zeichen
kommen IMHO nicht vor, also warum ist das Unfug?
Weil es verdammt langsam und umstaendlich ist. Du zwingst so
jede RegEx-Maschine in die Knie.
Sinnvoller waere
/Auswahl=([^&]*)/Dann fehlt aber das letze Element!
Nein:
ckruse@sunshine:~/tmp/stats $ cat test.pl
#!/usr/bin/perl -w
use strict;
my $qs = 'Auswahl=hallo&Auswahl=blahr&Auswahl=blub';
my @matches = $qs =~ /Auswahl=([^&]+)/g;
print join(', ',@matches),"\n";
ckruse@sunshine:~/tmp/stats $ perl test.pl
hallo, blahr, blub
ckruse@sunshine:~/tmp/stats $
Es wird ja nicht *erzwungen*, dass ein & folgt, sondern es
wird nur gesagt 'gib mir alles bis auf &' -- es muss gar kein
& vorkommen.
Dass es funktioniert, wundert mich jetzt.
Funktioniert IMHO sogar besser als Deine Version ;-)
Nee, nicht wirklich.
Gruesse,
CK