My proposal (untested):
\$(\d{1,3})(,\d{3})*(\.\d+)?
we require a dollar, followed by a up to 3 digits.
then there might come more exactly 3-digit long groups.
at the end there might be a comma followed by at least one digit (or no comma and no digits)