Я думаю, что ssg это правильно.
Это не очень хорошее применение Regex, особенно если ваше программное обеспечение имеет дело с вводом данных за пределами США.
Например, если символом валюты является евро, или японская иена или фунт стерлингов, любой другой из дюжины символов валюты там?
А как насчет правил форматирования чисел?
В США вы должны ввести 1,000,000.00
, но во Франции это должно быть 1.000.000,00
. Другие страны допускают интервал между группировкой цифр ...
Если вы используете прямое регулярное выражение без учета культуры, то вы никогда не сможете успешно пройти валидацию, если не уверены на 100%, что ваше программное обеспечение никогда не будет использоваться в неамериканском контексте.