Sancho: TLD-Regex (Ende des Romans)

Beitrag lesen

*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