in reply to Some odd ambiguity in this regex

Your DB counters are in the 30s (and skip backwards). My guess is it's something in the steps you are not showing us. Here's my SSCCE:

use strict; use warnings; use Test::More tests => 2; my @matches; $_ = '1223w3433.45+34'; @matches = (/\d\D*/g); is $matches[0], 1, 'First time'; @matches = (/\d\D*/g); is $matches[0], 1, 'Second time';

Which passes, as you would expect.