in reply to negative look-ahead is ignored

I think it is because your \d{1,3}successfully matches one digit (the '1') which is not followed by a dash.

Cheers,

JohnGG