2016-05-11 2 views
-1

などのいずれかの国の通貨のために、私はJavaの正規表現は、私がそのためにどの国の通貨のための正規表現を作成したいINRのUSD

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

ええ、私はそのことを間違って置くのは間違いないと思っています...しかし、ダウングレードの質問は不必要ではありません...私は誰がこれをしたのか分かりません。 ..私はすでに通貨クラスを知っていますが、正規表現でそれをしたいと思っています。あなたは – vicky9988

答えて

1

java.util.Currencyを使用しない理由は?はるかに簡単で、Localeのインスタンスを取得し、OSのプロパティから読み込むか、ユーザーに入力を求める必要があります。 のシンボルの名前、およびの小数点以下の桁数はで、ほとんどのニーズに対応しています。

+0

を祝福します。私にとっては実現不可能です。今は2通貨しかサポートしていないので、私の実装全体を変更したくありません。 – vicky9988

+0

実装を取り除き、代わりに標準のメカニズムを使用する必要があります。このようなものに正規表現を使うのはばかげているだけです。 – Kayaman

+0

thats correct、私は時間のために私は正規表現のみに制限する必要があることに同意しています。私はINRとUSD.Iをサポートすることができます任意の組み合わせが正規表現には新しいので、それを操作することはできません。 – vicky9988

関連する問題