Metaner Geschrieben 9. Juni 2005 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
Metaner Geschrieben 9. Juni 2005 Autor 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!
Monty82 Geschrieben 9. Juni 2005 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
Metaner Geschrieben 9. Juni 2005 Autor 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden