Как насчет этого регулярного выражения: \$[0-9.,]+
или \$([0-9.,]+)
для удаления $
?
Это просто, но делает в значительной степени то, что вы хотите, он даже ловит такие вещи: $1,450.8934
или $14.343
.
Конечно, недостатком было бы то, что он также поймал бы $34.54.23
.
Или, если вы хотите поймать только два десятичных знака: \$[0-9,]+\.[0-9]{2}
он поймал бы $5.23
часть $5.234565
.
Вы можете использовать его с preg_match
или preg_match_all
.