Ist eben nicht egal! Der RegExp wie er da steht tut genau das, was du als Anforderungen beschrieben hast. Also muß es einen Grund geben, daß er bei mir funzt, bei dir aber nicht.
Ich weiß nicht, was du getestet hast. Bei mir:
var re = /^.+/(.+)?(_[0-9]{3}.|.)/;
var st = 'http://www.example.de/user/foobar_123.jpg';
if(re.test(st))
alert(RegExp.$1) // foobar_123
Ralf