Ordnungsgemäße Zuordnung einer IDN-URL

Ich benötige Hilfe beim Erstellen eines regulären Ausdrucks, der einer URL im Freitext ordnungsgemäß entspricht.

planenEiner der folgenden:ftp, http, https (istftps ein Protokoll?)wahlweiseNutzer (und optionalbestehen)Wirt (mit Unterstützung für IDNs)Unterstützung fürwww undSub-Domain (s) (mit Unterstützung für IDNs)grundlegende Filterung von TLDs ([a-zA-Z]{2,6} ist genug, denke ich)wahlweiseHafen NummerPfad (optional, mit Unterstützung für Unicode-Zeichen)Abfrage (optional, mit Unterstützung für Unicode-Zeichen)Fragment (optional, mit Unterstützung für Unicode-Zeichen)

Folgendes könnte ich über Subdomains herausfinden:

Eine "Unterdomäne" drückt die relative Abhängigkeit aus, nicht die absolute Abhängigkeit: Beispielsweise umfasst wikipedia.org eine Unterdomäne der org-Domäne und en.wikipedia.org eine Unterdomäne der Domäne wikipedia.org. Theoretisch kann diese Unterteilung bis zu 127 Ebenen tief sein, und jedes DNS-Label kann bis zu 63 Zeichen enthalten, sofern der gesamte Domänenname eine Gesamtlänge von 255 Zeichen nicht überschreitet.

In Bezug auf den Domainnamen selbst konnte ich keine zuverlässige Quelle finden, aber ich denke, der reguläre Ausdruckfür Nicht-IDNs (Ich bin mir nicht sicher, wie ich eine IDN-kompatible Version schreiben soll)

[0-9a-zA-Z][0-9a-zA-Z\-]{2,62}

Kann mir jemand mit diesem regulären Ausdruck weiterhelfen oder mich auf eine gute Richtung hinweisen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage