RegExp - Syntax einer ip-Adresse prüfen
Rolf
- perl
0 speedy0 FrankS0 RegExp - Vielen Dank
Rolf0 Frank Schönmann0 Rolf
Hallo, ich will den Syntax einer IP-Adresse prüfen, also hab ich mir gedacht, dass ich prüfe ob 3mal hintereinander auf einen Punkt eine Ziffer folgt: /(.\d){3}/ und außerdem ob der String mit einer Ziffer anfängt. Aber es klappt nicht so ganz, wenn zwischendrin ein Buchstabe ist - murx. Hat jemand einen besseren Lösungsansatz und kann mir mal einwenig auf die Sprünge helfen?
Viele Grüße, Rolf
Hi,
versuch mal
/\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}/
is zwar billig, aber mehr fällt mir jetzt aus der Hüfte nicht ein.
CU
speedy
Hi Rolf!
Versuch das mal: /(.\d*){3}/
Gruß Frank
Hi Rolf!
Ausserdem solltest Du noch prüfen, ob jedes AdressOktet nicht größer als 255 ist...
Gruß Frank
Hallo!
Ausserdem solltest Du noch prüfen, ob jedes AdressOktet nicht größer als 255 ist...
Dann müsste man noch prüfen, ob die Adresse vielleicht privat ist? Oder ob sie überhaupt existiert... :) Nope, Joke!
Aber was ich noch machen würde: /^\d{1,3}(.\d{1,3}){3}$/
Das $ am Schluss, damit nach der letzten Zifferngruppe nichts mehr folgen darf - oder irre ich mich?
noch besser: /^\d{1,3}(.\d{1,3}){3}/
(1-3 Ziffern, dann 3x Punkt und 1-3 Ziffern)
Gruß Frank
Hallo Frank und Speedy, ich danke euch ersteinmal für Eure Bemühungen, es klappt zwar noch nicht so wie ich möchte, aber die Ansätze sind im Wesentlichen denke ich richtig. Viele Grüße, Rolf
hi!
Hallo, ich will den Syntax einer IP-Adresse prüfen, also hab ich
mir gedacht, dass ich prüfe ob 3mal hintereinander auf einen
Punkt eine Ziffer folgt: /(.\d){3}/ und außerdem ob der String
mit einer Ziffer anfängt. Aber es klappt nicht so ganz, wenn
zwischendrin ein Buchstabe ist - murx. Hat jemand einen besseren
Lösungsansatz und kann mir mal einwenig auf die Sprünge helfen?
m/^((\d\d\d[01]\d\d2[0-4]\d25[0-5]).){3}(\d\d\d[01]\d\d2[0-4]\d25[0-5])$/;
Inkl. Überprüfung auf Werte von 0-255 pro Segment.
bye, Frank!
Hi Frank, das ist ja verrückt.... herzlichen Dank für Deine Lösung und viele Grüße aus dem sonnigen Erfurt!; Rolf