GrandFather:
Thanks. I updated your code to make it a little more visually obvious to me, then added a couple cases. Now that I see what the difference is, I doubt that I'd ever use it. Not because it isn't useful, but rather because if I ever need it, I'm sure I'll have long forgotten it. But it's certainly educational.
For grins, here's what I came up with:
$ cat splok.pl
use strict;
use warnings;
my @regs = ('(x\d{3,}?)', '(x\d{3,}?x)', '(x\d{3,})',
'(x\d{3})', '(x\d{3,}x)', '(x\d{3,}?x?)');
my @strs = ('xx', 'x12x', 'x123456x', 'x12x x123x', 'x123456y');
printf "%-12.12s ", $_ for " ", @regs;
print "\n";
for my $str (@strs) {
printf "%-12.12s ", $str;
for my $reg (@regs) {
printf "%-12.12s ", ($str=~$reg) ? $1: '-nope-';
}
print "\n";
}
$ perl splok.pl
(x\d{3,}?) (x\d{3,}?x) (x\d{3,}) (x\d{3}) (x\d{
+3,}x) (x\d{3,}?x?)
xx -nope- -nope- -nope- -nope- -nope
+- -nope-
x12x -nope- -nope- -nope- -nope- -nope
+- -nope-
x123456x x123 x123456x x123456 x123 x1234
+56x x123
x12x x123x x123 x123x x123 x123 x123x
+ x123x
x123456y x123 -nope- x123456 x123 -nope
+- x123
(As you can tell, I like things laid out in grids. I organize lots of stuff with database tables and spreadsheets...)
...roboticus
When your only tool is a hammer, all problems look like your thumb. |