Hallo,
Ich will lediglich das nur Zeichenketten mit diesem Format akzeptiert werden. "string1\string2:"
dein RegEx meint aber etwas ganz anderes. Nämlich:
^ Stringanfang
[A-Z] EIN Großbuchstabe
. EIN beliebiges Zeichen
[].[a-zA-Z:] EIN Zeichen, das entweder Buchstabe, eckige Klammer,
Punkt oder Doppelpunkt ist
Habe schon etliche Versionen aber es passt nicht wirklich. Ich hoffe es kann mir wer helfen.
Aus welchen Zeichen dürfen denn string1 und string2 bestehen? Nur Buchstaben? Ich nehme mal an, Großbuchstaben, Kleinbuchstaben und Ziffern. Also haben wir folgenden Ausdruck:
^ Stringanfang
[0-9A-Za-z] Ziffer, Großbuchstabe oder Kleinbuchstabe, und das
+ beliebig oft, aber mindestens 1mal
\ Ein Backslash
[0-9A-Za-z] Ziffer, Großbuchstabe oder Kleinbuchstabe, und das
+ beliebig oft, aber mindestens 1mal
: Ein Doppelpunkt
Ganz wichtig:
1. Der Punkt steht für EIN beliebiges Zeichen.
2. Zeichen + und * stehen als Quantifizierer. Ein * hinter einem Zeichen oder einer Zeichenklasse bedeutet: beliebig oft, darf aber auch fehlen; ein + bedeutet: beliebig oft, aber mindestens 1mal.
3. Wenn Sonderzeichen als normale Zeichen des Ausdrucks gemeint sind, muss ihnen ein Backslash als Escape-Zeichen vorangestellt werden.
4. Daraus folgt, dass der Backslash selbst auch eine Sonderbedeutung hat und ebenfalls escapet werden muss, wenn er wörtlich gemeint ist.
Durch die fehlerhafte Verwendung des Backslash hast du z.B. die schließende eckige Klammer "unwirksam gemacht". Was du mit dem Punkt vorhattest, kann ich mir allerdings nicht erklären.
So long,
Martin
Computer lösen für uns Probleme, die wir ohne sie gar nicht hätten.