我想为任何国家的货币创建正则表达式,我正在准备java中的正则表达式
public Static CURRENCY_FORMAT= ^(([-+][1-9]\\d{0,2}(,\\d{3})*)|(([1-9]\\d*)?\\d))(\\.\\d\\d)?$
public static final String GBP = "GBP";
public static final String USD = "USD";
public static final List<String> CURRENCY_LIST=new ArrayList<String>(Arrays.asList(GBP,USD));
现在我想使用此列表在1个空格的货币前面添加 例如“USD 123.23”或“INR 89.78” 我正在创建货币列表,因为如果将来我必须添加新货币,以便我可以轻松地做到这一点。 我尝试了这个,但它没有用。
public Static CURRENCY_FORMAT= "^\\["+CURRENCY_LIST+" ]"+^(([-+][1-9]\\d{0,2}(,\\d{3})*)|(([1-9]\\d*)?
答案 0 :(得分:1)
为什么不使用java.util.Currency
?更简单,你得到一个每Locale
的实例,你应该从操作系统属性中读取,或询问用户输入。它还提供符号,名称和小数位数,它们可以满足您的大部分需求。