If that is the case I'd ditch regexp since they are often problematic to get right and go with
$numbers = explode(' per $', $string);
echo $numbers[0]; # 5.75
echo $numbers[1]; # 1,000
Doing this with regexp might get tricky, and you'd really need to be a lot more specific about what input you will have as well as what you will never have. Examples of conditions that may complicate things, on its own or in combination with other conditions and what should match and not.
$s = '5.75 per $1000.50';
$s = '5.75 per $1000. Next year we expect it to be 6.00 per $1000';
$s = '5.75 per $1000,000';
$s = '5.75 per $10.000,00';
Resort to regexp if there really is no easier way of doing things. And if you do need it, be very specific about what input will appear, will never appear, and exactly what should match and shouldn't match.