Metaner Geschrieben 9. Juni 2005 Teilen Geschrieben 9. Juni 2005 Moin, ich habe schon viele Informationen zu diesem Thema gefunden und auch das ein und andere gelesen. Allerdings finde ich zu meinem aktuellen Problem keinen Lösungsweg. Da ich aber auch nicht tagtäglich mit regulären Ausdrücken arbeitet, verzeiht mir ggf. meine dumme Frage Ich möchte eine Kennzeichen-Prüfung mit einem regulären Ausdruck durchführen. Als Beispiel habe ich ein Behördenkennzeichen genommen (XX-12345), dass den folgenden Regeln unterliegt. - Es beginnt mit mind. 1 bis max 3 Buchstaben - gefolgt von einem Bindestrich oder Leerzeichen - gefolgt von mind. 1 bis max. 5 Ziffern wobei die erste Ziffer keine Null sein darf. Mein regulärer Ausdruck für diese Prüfung sieht im Augenblick so aus: [A-Za-z]{1,3}(-| )[1-9]{1}[0-9] Die Prüfung geht aber nur bis zur ersten Ziffern. Jetzt kommt mein Problem. Es können nun bis zu 4 weitere Ziffern folgen. Nach spätestens 4 optionalen Ziffern muss aber Schluß sein. Alle Versuche sind bisher bei folgenden Kennzeichen gescheitert: 1. XX-123456 oder XX-12345y (falsch, letztes Zeichen zuviel) 2. XX-123a5 (falsch, Buchstabe statt einer Ziffer) Ich habe auch schon versucht mit dem Ausdruck [^0-9A-Za-z_] bzw. [^\W] zu einem richtigen Ergebnis zu kommen, doch das hat nicht geklappt. Wäre super, wenn mir einer mit etwas Hilfe auf die Sprünge helfen könnte. Im Augenblick stehe ich vor lauter Bäumen den Wald nicht mehr. :confused: Danke & Gruß Jan Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Metaner Geschrieben 9. Juni 2005 Autor Teilen Geschrieben 9. Juni 2005 Manchmals sollte man nicht voreilig fragen. Habs nun doch selber rausgefunden. Das Zauberzeichen "$" war mir bisher nicht bekannt. Mein Ausdruck lautet nun [A-Za-z]{1,3}(-| )[1-9]{1}[0-9]{0,4}$ Problem somit gelöst! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 9. Juni 2005 Teilen Geschrieben 9. Juni 2005 Wie sieht es denn aus, wenn Du auch noch Anfang und Ende als Kriterium in den regulären Ausdruck einpflegst? ^[A-Za-z]{1,3}[- ][1-9][0-9]{0,4}$ ^ besagt, dass unmittelbar vor dem ersten Buchstaben nichts kommen darf $ besagt, dass nach den optionalen Ziffern auch nichts mehr kommen darf Vorraussetzung ist natürlich, dass auch nur das Kennzeichen als ganzes geprüft wird, und nicht innerhalb eines längeren Strings... Edit: zu spät *g Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Metaner Geschrieben 9. Juni 2005 Autor Teilen Geschrieben 9. Juni 2005 Hallo Monty, dank Dir trotzdem für Deine Antwort. Das mit dem "^" am Anfang des Ausdrucks war mir auch nicht bekannt. Habe das nun auch eingebaut, da der Ausdruck sonst fehlerhaft gearbeitet hätte. Habe auch statt (-| ) nun [- ] verwendet. Nochmals Danke & Grüße Jan Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.