If you really want a regex-solution (which isn't necessarily the best idea), here's one from the bottom of the poison cabinet:
use strict; use warnings; use 5.010; $_ = '79899920179'; my $pass = qr/(?=)/; my $fail = qr/(*FAIL)/; while (/\G(\d{2,}?)(??{ $1 >= 32 ? $pass : $fail })/g) { say $1; }
I'm sure that can be simplified somehow, but right now I don't know how.
Be sure to read the warning about (??{...}) in perlre.
And here's a nicer Perl 6 solution:
$ perl6 -e 'say "79899920179".comb(/ (\d **? 2..*) <?{ $0 >= 32 }>/)' 79 89 99 201 79
In reply to Re: how to split the string into two or three numbers based on certain value.
by moritz
in thread how to split the string into two or three numbers based on certain value.
by venky4289
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |