Java имеет синтаксис для записи всех символов Unicode , которые он может обработать, синтаксис выглядит как '\ uffff'
Символы Unicode определены достаточно тщательно, чтобы можно было найти связанные группы. Это говорит о том, что список всех символов валюты Unicode
Вооружившись этими символами Юникода в регулярном выражении, вы можете найти деньги где угодно: -)
Документация Oracle (ранее Sun) по регулярным выражениям содержит целый набор классов символов, которые включают валюту.
Я не знаю, какая версия Unicode на самом деле реализована. Ссылка, которую я нашел в Oracle, была «Поддерживаемые блоки и категории соответствуют стандарту Unicode, версия 3.0». который согласно группе Unicode был сентябрь 1999 года, так что это то, что я предполагаю.
Это включает в себя фунты стерлингов и евро, так что я в порядке :-), но это может быть не совсем актуально, хотя человечество не изобретает валюты слишком часто.
Это было бы немного утомительно, но вы могли бы сгенерировать строку с каждым кодом символа (по одному за раз), проверить соответствие символам валюты регулярного выражения и проверить, включены ли те, которые вам особенно интересны.
На самом деле есть еще одна проблема. Разные страны используют разные знаки для десятичной точки, а некоторые страны ставят символ после суммы. Пока что я не нашел хорошего решения для этого (http://stackoverflow.com/questions/9185793/how-do-i-get-the-currency-symbol-of-a-currency-as-it-would-appear-in-one-of-its) не имеет хорошего ответа.
Так что вам может понадобиться найти число по обе стороны от символа валюты.