http://www.perlmonks.org?node_id=444908


in reply to Regexp for range of numbers

To repeat a node above, doing this with regex seems a little odd. Anyway, I thought I would take 5 and have a go. I did mine with look behinds (cos I rarely get to use them and its different to your solution). Not sure if my attempt is bone headed :). Still . . . here it is:
use strict; use warnings; my @nums; for(my $i = -100; $i < 400; $i++) { push @nums, $i; } foreach my $n (@nums) { if($n =~ /^[012]?(((?<=2)[0-5])|(?<!2)[0-9])?(((?<=25)[0-5])|(?<!2 +5)[0-9])$/) { print $n, ": pass\n"; } else { print $n, ": fail\n"; } }
HTH