Zum Inhalt springen

RegExp für gültige IP-Adresse


Empfohlene Beiträge

Naja, aber mit Split wollte ich nicht arbeiten. Was passiert, wenn ich folgenden String erhalte? '...... ganz viele davon ...', da braucht mein splitt ja ewig (und vom Speicher wollen wir mal gar nicht reden)...

Ich hab aber inzwischen eine Lösung gefunden (hier ein Codefragment in Perl):


$re_digit = q{((0?\d?\d)|(1\d\d)|(2[01234]\d)|(25[012345]))};

$re_ip = qq{^$re_digit\\.$re_digit\\.$re_digit\\.$re_digit\$};


print "Yes\n" if <> =~ m/$re_ip/o;

Funktioniert wunderbar, trozdem Danke für Deine Hilfe.

Falls es jemand interessieret, wie ich auf die Lösung kam soll er hier mal einen Beitrag reinsetzen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Jau, hast recht.

Ich dachte immer regexp wären zeitlich aufwendig.

Dem scheint aber nicht so.

kleiner Test: :D


$_="000.255.255.255";

print time."\n";

for($i = 1;$i <= 1000000;$i++){

	$r = 0  if(grep{/^\d+$/and$_<256}split/\./)==4;

}

print time."\n";

for($i = 1;$i <= 1000000;$i++){

	$re_digit = q{((0?\d?\d)|(1\d\d)|(2[0-4]\d)|(25[0-5]))};

	$re_ip = qq{^$re_digit\\.$re_digit\\.$re_digit\\.$re_digit\$};

	$r = 0 if $_ =~ m/$re_ip/o;

}

print time."\n";

Deine 12345 habe ich mal in 0-5 geändert.

Das: "$r = 0" ist nur für die gültigkeit der if Abfragen.

Ich weiss jetzt auch, warum man Perl immer als "write-only" bezeichnet. :bimei

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Jaraz Ich dachte immer regexp wären zeitlich aufwendig.

RegEx können schon sehr zeitintensiv werden wenn man sie nicht sauber formuliert. Bei einer schön strukturierten RegEx ist der Zeitvorteil gegenüber anderen Lösungen, wie Du selbst erkannt hast, auf jeden Fall deutlich spürbar.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...