in reply to how to split the string into two or three numbers based on certain value.
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
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: how to split the string into two or three numbers based on certain value.
by AnomalousMonk (Archbishop) on Feb 11, 2013 at 23:47 UTC | |
by venky4289 (Novice) on Feb 12, 2013 at 08:19 UTC | |
by AnomalousMonk (Archbishop) on Feb 12, 2013 at 15:41 UTC |