Regulärer Ausdruck für QUERY_STRING
Bernd
- perl
0 Bernd0 Bernd
0 Christian Kruse
Hallo,
ich habe ohne Ende herumprobiert, bin aber letztlich nicht
zu einem zufriedenstellenden Ergebnis gekommen.
Ich brauche einen RegExp, der auf Strings paßt, die sich wie
folgt zusammensetzen:
Beispiele: AbtgZj, k675, jah+J98, gh%6Faj, 87%d5po, %3ftest%60ni
Ansatz:
[a-zA-Z0-9+] und %([\dA-Fa-f][\dA-Fa-f])
Beide für sich genommen funktionieren natürlich, aber wie
mache ich syntaktisch richtig e i n e n Ausdruck daraus ?
Ich denke, der zweite Ausdruck muß in den ersten eingefügt
werden, aber wie ?
Vielen Dank für einen Tip im voraus
Bernd
Hallo,
ich habe die RegExp unter "Ansatz" noch einmal vervollständigt,
so, wie ich sie wirklich benutze, wird dann vielleicht
verständlicher. Jetzt müssen sie nur noch zusammen...
1.) if ($str=~/[1]*$/) ...
(Prüft, ob Strings nur aus Buchstaben, Zahlen und + bestehen)
2.) if ($str=~/^(%([\da-fA-F][\da-fA-F]))*$/) ...
(Prüft, ob Strings nur aus Hexcodes bestehen)
Ich will nun, das mit e i n e m Ausdruck geprüft wird, ob sich ein
String ausschließlich aus b e i d e m zusammensetzt.
Vielen Dank für einen Tip !
Bernd
a-zA-Z0-9+ ↩︎
Habe ihn gefunden:
if($str=~/^(%([\da-fA-F][\da-fA-F])|[a-zA-Z0-9+])*$/) ...
puh...
Hallo Bernd,
- Zeichen a-z, A-Z, 0-9
- Sonderzeichen +
- Hexadezimal codierte Sonderzeichen, eingeleitet durch
ein Prozentzeichen, z.B. %9a, oder %2F
/^(?:[a-zA-Z0-9+]|%[0-9a-fA-F]{2})+$/
Der sollte passen. Wenn du aber wirklich einen Query-String
matchen willst, fehlen noch diverse Zeichen (siehe auch
entsprechende RFC).
Gruesse,
CK