Beefy Boxes and Bandwidth Generously Provided by pair Networks vroom
Keep It Simple, Stupid
 
PerlMonks  

Re^2: IP Filtering RegEx needed

by Fletch (Chancellor)
on Sep 15, 2004 at 14:37 UTC ( #391189=note: print w/ replies, xml ) Need Help??


in reply to Re: IP Filtering RegEx needed
in thread IP Filtering RegEx needed

$ perl -le '$_="135.168.995.925"; print "Oops" if /135\.168\.[1-9][0-9 +][0-5]?\.[0-9][0-2]?[0-5]?/' Oops

This is why it's really better to do the range checking outside the regex as others have mentioned.

Update: As is remarked below, if you're sure you're not going to get bogus input from your data then this may not be an issue. It's just something to be aware of when you consider what solution to use (and to keep in the back of your mind for when something breaks and you get bogus results from something like this and can't figure out why . . . :).


Comment on Re^2: IP Filtering RegEx needed
Download Code
Re^3: IP Filtering RegEx needed
by Dietz (Curate) on Sep 15, 2004 at 14:50 UTC
    You're are absolutely right!

    OTOH in which log would you find addresses containing an octet with '995'

    My attempt was just a quick hack to serve the OP and is not fully tested, though I believe it's good enough to don't match other ranges, but I could be incorrect, and maybe I should have stated so :-(

    Thank you!
    Dietz

      My above code is absolute nonsense and was just a quick hack
      This should do it now on the specified ranges:
      my $regex = qr/ ( 123\.145\.14[6-9]\.2 # match first specified range | # or # second specified range: 135\.168\. # <= first 2 octets (?: # 3rd octet: 1 (?: 0[0-9]|1[0-5] ) # 100 - 109 or 110 - 115 | # or [1-9][0-9] # 10 - 99 ) \. # 4th octet: (?: (?:1[01][0-9]|12[0-5]) # 100 - 119 or 120 - 125 | # or [0-9][0-9]? # 0 - 99 ) $ # end of string ) /ox;

      I'm all puzzled now!

      Dietz

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://391189]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (15)
As of 2014-04-17 20:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (454 votes), past polls