Quantcast
Channel: eliteinformatiker » RFC
Viewing all articles
Browse latest Browse all 2

Regular Expression zur Überprüfung von URIs gemäß RFC 3986

$
0
0

RFC 3986 definiert das Format von URIs, eingeschlossen den Unterformaten URL und URN. Das RFC-Dokument liefert selbst keinen Regulären Ausdruck im PCRE-Stil aus, allerdings eine zweiseitige Defintion in der Augmented Backus-Naur Form. Mithilfe dieser kann man selbst einen regulären Ausdruck erstellen.

Heraus kam dieser reguläre Ausdruck, der auch die Spezifikationen von IPv6 und IPvFuture in RFC 3986 mit einschließt. Die IRI-Spezifikationen für internationalisierte URIs aus RFC 3987 mit Zeichen außerhalb von US-ASCII werden hingegen nicht berücksichtigt und sollen später in einem anderen Regulären Ausdruck veröffentlicht werden.
/^[a-zA-Z][a-zA-Z0-9\+\-\.]*:(\/\/(([a-zA-Z0-9\-\.\_\~\!$\&\'\(\)\*\+\,\;\=]|(%[a-fA-F0-9][a-fA-F0-9])|\:)*\@)?(\[((([a-fA-F0-9]{1,4}\:){6}([a-fA-F0-9]{1,4}\:[a-fA-F0-9]{1,4}|([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5]))|\:\:([a-fA-F0-9]{1,4}\:){5}([a-fA-F0-9]{1,4}\:[a-fA-F0-9]{1,4}|([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5]))|([a-fA-F0-9]{1,4}\:)?\:\:([a-fA-F0-9]{1,4}\:){4}([a-fA-F0-9]{1,4}\:[a-fA-F0-9]{1,4}|([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5]))|(([a-fA-F0-9]{1,4}\:)?[a-fA-F0-9]{1,4})?\:\:([a-fA-F0-9]{1,4}\:){3}([a-fA-F0-9]{1,4}\:[a-fA-F0-9]{1,4}|([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5]))|(([a-fA-F0-9]{1,4}\:){0,2}[a-fA-F0-9]{1,4})?\:\:([a-fA-F0-9]{1,4}\:){2}([a-fA-F0-9]{1,4}\:[a-fA-F0-9]{1,4}|([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5]))|(([a-fA-F0-9]{1,4}\:){0,3}[a-fA-F0-9]{1,4})?\:\:([a-fA-F0-9]{1,4}\:)([a-fA-F0-9]{1,4}\:[a-fA-F0-9]{1,4}|([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5]))|(([a-fA-F0-9]{1,4}\:){0,4}[a-fA-F0-9]{1,4})?\:\:([a-fA-F0-9]{1,4}\:[a-fA-F0-9]{1,4}|([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5]))|(([a-fA-F0-9]{1,4}\:){0,5}[a-fA-F0-9]{1,4})?\:\:[a-fA-F0-9]{1,4}|(([a-fA-F0-9]{1,4}\:){0,6}[a-fA-F0-9]{1,4})?\:\:)|v[a-fA-F0-9]\.[a-zA-Z0-9\-\.\_\~\!$\&\'\(\)\*\+\,\;\=\:]+)\]|([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|[1][0-9]{2}|2[0-4][0-9]|25[0-5])|([a-zA-Z0-9\-\.\_\~\!$\&\'\(\)\*\+\,\;\=]|(%[a-fA-F0-9][a-fA-F0-9]))*)(\:[0-9]*)?(\/([\!$\&\'\(\)\*\+\,\;\=a-zA-Z0-9\-\.\_\~]|(%[a-fA-F0-9][a-fA-F0-9])|\:|\@)*)*|\/(([\!$\&\'\(\)\*\+\,\;\=a-zA-Z0-9\-\.\_\~]|(%[a-fA-F0-9][a-fA-F0-9])|\:|\@)+(\/([\!$\&\'\(\)\*\+\,\;\=a-zA-Z0-9\-\.\_\~]|(%[a-fA-F0-9][a-fA-F0-9])|\:|\@)*)*)?|([\!$\&\'\(\)\*\+\,\;\=a-zA-Z0-9\-\.\_\~]|(%[a-fA-F0-9][a-fA-F0-9])|\:|\@)+(\/([\!$\&\'\(\)\*\+\,\;\=a-zA-Z0-9\-\.\_\~]|(%[a-fA-F0-9][a-fA-F0-9])|\:|\@)*)*|)(\?(([\!$\&\'\(\)\*\+\,\;\=a-zA-Z0-9\-\.\_\~]|(%[a-fA-F0-9][a-fA-F0-9])|\:|\@)|\/|\?)*)?(\#(([\!$\&\'\(\)\*\+\,\;\=a-zA-Z0-9\-\.\_\~]|(%[a-fA-F0-9][a-fA-F0-9])|\:|\@)|\/|\?)*)?$/

Irgendwelche Fehler bitte einfach in den Kommentaren melden.


Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles





Latest Images