Zum Inhalt springen

Reguläre Ausdrücke in Smalltalk


Metaner

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...