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.
In reply to Re^7: why my reg ex matches greedy?
by roboticus
in thread why my reg ex matches greedy?
by lngperl
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |