Regex Tester

IP Adresse Regex: IPv4 und IPv6 Übereinstimmung

Regex Muster zum Abgleichen und Validieren von IPv4 (192.168.1.1) und IPv6 Adressen. Inklusive CIDR Notation und Erkennung privater Netzwerke.

100% clientseitig. Deine Daten verlassen niemals deinen Browser.

//gm
7 Treffer
192.168.1.1 10.0.0.255 172.16.0.1 255.255.255.0 8.8.8.8 999.999.999.999 256.1.1.1 1.2.3 0.0.0.0 127.0.0.1
Trefferdetails

Verwandte Werkzeuge

IPv4 Adress Regex

Das obige Muster stimmt nur korrekt mit gültigen IPv4 Adressen überein. Von den Teststrings stimmt es mit 192.168.1.1, 10.0.0.255, 172.16.0.1, 255.255.255.0, 8.8.8.8, 0.0.0.0 und 127.0.0.1 überein. Es lehnt 999.999.999.999, 256.1.1.1 und 1.2.3 (nur drei Oktette) ab.

Aufschlüsselung des Musters

Jedes Oktett verwendet eine Drei-Wege-Alternation, um den Bereich von 0 bis 255 anzuwenden:

AlternationszweigAbgedeckter BereichBeispiele Übereinstimmung
25[0-5]250 bis 255250, 255
2[0-4]\d200 bis 249200, 214, 249
[01]?\d\d?0 bis 1990, 99, 192

Die Alternation ist in eine nicht erfassende Gruppe (?:...) eingeschlossen und wird dreimal mit \. dazwischen unter Verwendung von {3} wiederholt, dann wiederholt das letzte Oktett dieselbe Alternation. Wortgrenzen \b an beiden Enden verhindern, dass das Muster mit einer IP Adresse übereinstimmt, die als Teilstring von etwas Größerem erscheint.

Warum das Naive Muster Versagt

\d+\.\d+\.\d+\.\d+ ist das Erste, was die meisten versuchen. Es versagt in zwei Richtungen:

Es stimmt mit Strings überein, die keine gültigen IP Adressen sind. 999.999.999.999 stimmt überein, weil \d+ keine Grenze für den numerischen Wert setzt.

Es kann falsch positive Ergebnisse innerhalb längerer Strings erzeugen. Ohne Wortgrenzen stimmt das Muster mit partiellen Fragmenten in Versionsstrings, Timestamps und Dezimalzahlen überein.

Das korrekte alternationsbasierte Muster behandelt beide Probleme.

CIDR Notation

Um auch CIDR Blöcke wie 192.168.1.0/24 abzugleichen, füge (\/([0-9]|[1-2]\d|3[0-2]))? am Ende des Basismusters hinzu (vor dem abschließenden \b). Dies macht die Präfixlänge optional und validiert, dass sie zwischen 0 und 32 liegt.

IPv6 Muster

Ein Muster für die vollständige Standard-8-Gruppen-Notation:

([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}

Dies stimmt mit 2001:0db8:85a3:0000:0000:8a2e:0370:7334 überein, verarbeitet aber keine :: Kompression, was die abgekürzte Form ist, die in den meisten Kontexten verwendet wird.

Teste diese Muster mit Live-Ergebnissen im Regex Tester.