*räusper*
...auch empfiehlt es sich bei regulären Ausdrücken, sie über Nacht stehen lassen und am nächsten Tag nochmal anzuschauen.
Also, Frage: Was ist hier noch nonsense?
a-zA-Z?.?
Richtig: Die halbherzigen Quantifizierungen. Die Idee mit dem 0-61 ist gut; aber in der Ausführung wurde g'schlampert.
Wenn dadurch auf insgesamt maximal 63 Zeichen (abgesehen von dem optionalen Endpunkt) quantifiziert werden soll, dann wohl eher so:
[a-zA-Z]{1}(?:[a-zA-Z\d-]{0,61}[a-zA-Z\d]{1})?.?
Und _jetzt_ lächelt die RFC-2396-Fee:
Genau ein <alpha> am Anfang (um Domainnamen durch den Toplabel von IPv4 unterscheiden zu können);
im Anschluß entweder: nichts (die Gruppe insgesamt kann wegfallen)
oder: eine einzelne Gruppe mit
entweder: nichts (Anzahl Zeichen der Klasse [<alphanum> oder '-'] ist 0)
oder: maximal 61 Zeichen dieser Klasse,
gefolgt von (oder einzeln für sich) exakt 1 <alphanum>;
das Ganze also mindestens 1 und maximal 63 Zeichen lang;
und abgeschlossen von einem oder keinem Punkt.
(Falls die bevozugte Proportionalschrift für Verwirrung sorgen sollte: einmal kurz auf Courier umschalten.)
Das wärs.
Grüße,
Sancho