I'm not too sure about the limitations of ExtendScript's implementation of regular expressions, but this regex should work: \d+(\.\d\d\d)*(,\d+)?
If the problem with (\d+)? is the question mark, you could do (\d+){0,1} instead. If my regex has the same problem, you could use \d+(\.\d\d\d)*(,\d+){0,1} instead.