RegEx greedy quantifier not working correctly
Your regular expression says zero or more spaces, followed by one to three digits, which obviously matches the initial 200. Then you allow a repetition with zero spaces and, for example, one more digit. That's what "greedy" means; the regex engine will do its darndest to find a string which matches the pattern you gave it.
Apparently your real requirement is to find numbers with groups of three digits, is that correct?
(?:\d{1,3}( \d{3})*)?,\d{2}
This will require one to three digits, then zero or more groups with a space and three more digits, followed by the decimal comma and two decimal digits.
Your original attempt permitted ,12
so I have preserved that requirement; if you actually want to permit a number with optional decimals, perhaps instead go with
\d{1,3}( \d{3})*(?:,\d{2})?