What is a regular expression suitable for C# that\'ll validate a number if it matches the following?
$1,000,000.150 $10000000.199 $10000 1,
^\$?(\d{1,3},?(\d{3},?)*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{2})?)$