К сожалению DecimalFormat
использует свой собственный язык шаблонов .
Вы можете получить строку шаблона следующим образом:
DecimalFormat nf = (DecimalFormat) NumberFormat.getCurrencyInstance();
// ...
String patter = nf.toLocalizedPattern();
Который в моей системе возвращает "¤#,##0.00"
Возможно, вы сможете свернуть свою собственную функцию, которая преобразует ее в регулярное выражение (ограничено случаями, которые используются в вашем приложении), но ее нет в стандартной библиотеке, и я не знаю ни о какой сторонней библиотеке это делает.