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})?