in reply to Re^3: arithmetic in a regex ?
in thread arithmetic in a regex ?

Thanks for your answers.

Does this mean, arithmetic is not possible, in this case I have to generate a list of all possible cases ?

Replies are listed 'Best First'.
Re^5: arithmetic in a regex ?
by Corion (Patriarch) on Nov 13, 2023 at 10:21 UTC

    You can run Perl code inside a regular expression (see perlre):

    #!perl use 5.020; use Test2::V0 '-no_srand' => 1; my @cases = ( # case, expected result, todo text ['13s4', '3s4' ], ['3s44', '3s4' ], ['0a1', '0a1' ], ['0a2', undef ], ); for my $case (@cases) { my( $line, $expected, $todo ) = @$case; my ($result) = $line =~ / ( (\d).(\d) # Capture the stuff (?(?{ $2+1 != $3 })(*FAIL)) # decide if things match our extende +d criteria )/x; my $t; if ($todo){ $t = todo( $todo ) }; is( $result, $expected, $line ); } done_testing;