On approximately 1/13/2004 6:49 AM, came the following characters from the keyboard of Jamie Murray:
Hi guys, I have seen my error which I have overlooked and don't mind admitting it. : ) Course don't hold it against me cause I'm just eager to learn and try things out. My regex works it matches exactly what I want but not all possibilities . I overlooked the simple fact that alex wants not 0 or 2 or 5 or 4 but 254 or less. Course with the example I posted Alex can easily adjust for this.
So my method excludes 65 and up ,165 and up but not 254 to 200 or 154 to 100 or 54 or less. So yes Bill im excluding 192 amongst others in my regex I see your point. Ok so this gets a little deeper than expected because I can have 199 but not 299
/^([0-1]{0,1}[0-9][0-9] | 2[0-4][0-9] | 25[0-5])\. ([0-1]{0,1}[0-9][0-9] | 2[0-4][0-9] | 25[0-5])\. ([0-1]{0,1}[0-9][0-9] | 2[0-4][0-9] | 25[0-5])\. ([0-1]{0,1}[0-9][0-9] | 2[0-4][0-9] | 25[0-5]) $/
so now we are checking for 000 or 00 to 199 or 200 to 249 or 250 to 255 followed by \. Now I should have this right. Making mistakes sure helps you learn and think things through more thoroughly.
How is that or do you have anymore suggestions.
As someone else pointed out, you are rapidly approaching the REGEX given in the Perl Cookbook. Once you add a case to handle single digit numbers you will be there.
The only other differences are that you are using {0,1} which is exactly the same as ?, and you are using [0-9] which is exactly the same and \d. In both cases, the latter of the two equivalent expressions is shorter to express, and used by the REGEX in the Perl Cookbook.
----- Original Message ----- From: "Jamie Murray" <[EMAIL PROTECTED]>
To: "$Bill Luebkert" <[EMAIL PROTECTED]>;
<[EMAIL PROTECTED]>
Sent: Tuesday, January 13, 2004 9:40 AM
Subject: Re: REGEX help!
BiLL, If you check my second post I made the correction but I'm still correct in my example and method. Actually the e-mail from Raul Davletshin pretty much verifys what I had also stated and he's also correct. As for explaining [0-2] 0 or 1 or 2 are all possibilities of course but only one(unless using ? but thats another story) so wheres the problem your explaining something we already know. Also the example I gave Alex can be adjusted to his needs using class [] and range {}. At least he will know how to put together some type of expression that works instead of just relying on built in functions. As for your post down below you can check numbers that way. Did you run this in a script before you decided it doesn't work because it worked perfectly for me. Please run what I have below and correct what is "actually incorrect" not what you "think is incorrect" I'm all for learning and am just trying my best.
Thanks!
----- Original Message ----- From: "$Bill Luebkert" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, January 13, 2004 5:07 AM
Subject: Re: REGEX help!
Jamie Murray wrote:
Hey Alex, I jumped a little quick there, the previous post does work but I had a
doh
moment and forgot your upper range match could only be 254 at most. Sorry about that.
if($num =~
/^[0-2][0-5][0-4]\.[0-2][0-5][0-4]\.[0-2][0-5][0-4]\.[0-2][0-5][0-4]$/)
^^^ ^^^ ^^^ The digits can be 0-9, not 0-2, 0-4 or 0-5. eg: 192.168.0.1 is a legal
IP
/^[0-2]{0,1}[0-5][0-4]\.[0-2][0-5][0-4]\.[0-2][0-5][0-4]\.[0-2][0-5][0-4]$/)You can't check a number range this way.
after each class [] use {num,num} to adjust for a part of the ip not
having
a number.
so for example
if($num =~
matches ip's like these "three digit 254 or less"."three digit 254 or less"."three digit 254
or
less"."three digit 254 or less". or "two digit 54 or less"."three digit 254 or less"."three digit 254 or less"."three digit 254 or less"
-- ,-/- __ _ _ $Bill Luebkert
Mailto:[EMAIL PROTECTED]
(_/ / ) // // DBE Collectibles Mailto:[EMAIL PROTECTED] / ) /--< o // // Castle of Medieval Myth & Magic
http://www.todbe.com/
-/-' /___/_<_</_</_ http://dbecoll.tripod.com/ (My Perl/Lakers stuff)
_______________________________________________ Perl-Win32-Users mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
_______________________________________________ Perl-Win32-Users mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
_______________________________________________ Perl-Win32-Users mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
-- Glenn -- http://nevcal.com/ =========================== The best part about procrastination is that you are never bored, because you have all kinds of things that you should be doing.
_______________________________________________ Perl-Win32-Users mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs