my $match = $str =~ m{^.{$pos} (?{local $pre = ''}) \d ( (?<= (?= \D | ^ | (?1)) (?: \D | (\d)) (?{$pre .= $2 if defined $2}) ) (?{$prefix = $pre}) ) (\d*)}x;