in reply to Re^6: why my reg ex matches greedy?
in thread why my reg ex matches greedy?
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.
|
|---|