@@Melvin Cowznofski:
nuqneH
Das kann man genauso aufschreiben:
^[:alpha:]{3,}(?:[:alpha::space:]*[:alpha:]{3,})$_Das_ schaut echt gut aus jetzt! Muss gestehen, dass ich :alpha: und :space: überhaupt noch nie wo gesehen oder gelesen habe in diesem Zusammenhang.
Diese Zeichenklassen gibt es auch nicht in allen Inplementierungen.
Wenn nicht mehrere Leerzeichen hintereinander erlaubt sind, müsste man etwas mehr Gehirnschmalz reinstecken. Aber nur etwas.
Das brauche ich nicht zwingend, sprich - es sind auch mehr Leerzeichen erlaubt. Wobei mich natürlich auch interessieren würde, wie Du _das_ nun lösen würdest.
Dann muss nach einem Leerzeichen also ein Buchstabe kommen. Es gibt also Gruppen von [:space:][:alpha:]+, und zwar beliebig viele, also * dahinter. Da der * für die Gruppe gelten soll: klammern:
(?:[:space:][:alpha:]+)*
Em Ende muss ein Leerzeichen gefolgt von mindestens 3 Buchstaben stehen:
(?:[:space:][:alpha:]+)*[:space:][:alpha:]{3,}$
Das Ganze ist aber optional, also ? dahinter. Da das ? für die Gruppe gelten soll: nochmal klammern:
(?:(?:[:space:][:alpha:]+)*[:space:][:alpha:]{3,})?$
Davor stehen am Anfang noch die obligatorischen mindestens 3 Buchstaben:
^[:alpha:]{3,}(?:(?:[:space:][:alpha:]+)*[:space:][:alpha:]{3,})?$
Qapla'
„Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)