Regex

  • Themenstarter Themenstarter betzi1985
  • Beginndatum Beginndatum
B

betzi1985

Hallo,

ich habe Probleme mit regular expression. Ich muss relativ schnell eine Anforderung erfüllen habe das aber noch nie gemacht.
Kann mir vielleicht einer eine Regex für folgenden Fall schreiben.


Familienname (folgende Prüfungen müssen sichergestellt sein)

Gleiche Sonder- und Leerzeichen dürfen nicht mehrfach aufeinander folgen.

Zulässig sind Buchstaben, Leerzeichen, Bindestriche, Apostrophe, Ziffern, öffnende und schließende Klammern oder ein Punkt.

Auf der ersten Stelle des Familiennamens ist nur ein Buchstabe ungleich „ß“ zugelassen.

Auf der letzten Stelle des Familiennamens ist nur ein Buchstabe, eine Ziffer, eine schlie-ßende Klammer oder ein Punkt zugelassen


Ich wäre Euch echt sehr dankbar
 
Nein keine Hausaufgabe, bin Azubi im ersten Lehrjahr und esmuss relativ schnell erledigt werden.


Es geht mir nur um die Regex ansich. Ich weiß das man [a-z A-Z] anfängt , aber weiter weiß ich leider noch nicht :(
 
Dann poste hier mal dein Ansatz. Dann können wir dir helfen und gemeinsam eine Lösung finden.

Ansonsten kann ich dir gerne eine fertige Lösung presentieren. Kostet aber dich oder dein Arbeitsgeber 150 CHF (beim schlechten Eurokurs sind das etwas mehr als 100€...) pro investierte Stunde.
 
Also den Anfang habe ich schonmal gemacht

[a-zA-Z][a-zA-Z0-9_[:blank:]\.\(\)\']*[a-zA-Z0-9]


Meiner Meinung anch bedeutet dies, dass es mit einem Buchstaben a-z oder A-Z anfangen muss, danach kommen beliebig viele Zeichen entweder Zahlen Buchstaben Leerzeichen Unterstrich Hochzeichen oder PUnkt. Und es muss auf Buchstabe oder Zahl enden, ist das bis jetzt richtig so?


Jetzt fehlet nur noch, dass Sonderzeichen nicht zweimal hintereinander auftreten dürfen oder

So jetzt habe ich schon etwas mehr herausgefunden

^[a-zA-Z]{1,}[a-zA-Z0-9\_[:blank:].\(\)\']*[a-zA-Z0-9]$


Es muss mit mindestens 1 Buchstaben Anfangen und mit einer Zahl oder Buchstaben Enden, jetzt brauche ich nur noch, dass ein Sonderzeichen nur einmal hintereinander vorkommen darf, da weiß ich nciht weiter, kann mir jemand helfen

Wer kann mir denn sagen, wie ich dafür sorge, dass Sonderzeichen nur einmal vorkommen?
 
Vielleicht hilft dir das weiter:

Code:
([\x61-\x7a]{1,}[\x20-\x2f]{0,1}[\x61-\x7a\x30-\x39\x29\x2e]{1})

Durch

Code:
[\x20-\x2f]{0,1}

setzt du bspw. fest, dass ein Sonderzeichen nur 1x oder garnicht vorkommen darf.

Was ich aber nicht verstehe: Darf man eig. soetwas wie Regex von jemandem der gerade im ersten Ausbildungsjahr ist verlangen?
 
Ein Sonderzeichen darf schon mehrmals vorkommen nur nicht zweimal hintereinander.

a ' a ' ist z.B. erlaubt

a '' a ist nicht erlaubt das es direkt hintereinander die gleichen Zeichen sind.

Ist es denn ganz falsch, was ich hier reingepostet habe, also der Ansatz?

Tja frag meinen Chef , ob man das machen sollte :(
 
Zurück