in reply to Matching an IP address
4 == grep {$_<256} /^(\d+)[.](\d+)[.](\d+)[.](\d+)$/
Note that 0 is a valid value (unlike certain Microsoft programers thought). 10.0.0.1 is a perfectly fine IP address, for example. You can "golf" this by swapping \. for [.] but I think that mostly just makes it harder to read.
Also note that you might want to outlaw leading zeros since some C programs will incorrectly interpret 10.011.012.013 as containing 3 octal values and won't allow 10.08.09.10 since "08" and "09" aren't valid octal numbers.
4 == grep {$_<256&&!/^0\d/} /^(\d+)[.](\d+)[.](\d+)[.](\d+)$/
|
---|
Replies are listed 'Best First'. | |
---|---|
RE: RE: Matching an IP address
by BlueLines (Hermit) on Aug 02, 2000 at 01:19 UTC | |
by tye (Sage) on Aug 02, 2000 at 04:40 UTC |