Do you know where your variables are? | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
I meant adjacent digits.
To be true my problem was more complex than just matching digits. I wanted to find all possible matches for any regexp. Take print $_, ", " for ('1aaab2' =~ /(a+b)/g) #prints aaab, It prints only one result, instead of list (what's needed): 'ab', 'aab', 'aaab'. Solution given by Corion works perfectly in this case: print $_, ", " for ('1aaab2' =~ /(?=(a+b))/g) #prints aaab, aab, ab, But it has one side effect. See an example: while ('1234' =~ /(\d\d)/g) { print "$`<$&>$'", ", "; } #prints <12>34, 12<34>, Extended regexp: while ('1234' =~ /(?=(\d\d))/g) { print "$`<$&>$'", ", "; } #prints <>1234, 1<>234, 12<>34, So side effect is that this extended regexp doesn't allow to use $`, $&, $' variables as usually. In reply to Re^2: Global regexp
by Anonymous Monk
|
|