米国通貨の正規表現でいくつかの課題に直面しています。米国の通貨形式について簡単に調査した結果、驚くほど機能する次の正規表現にたどり着きました。
^[+-]?[0-9]{1,3}(?:,?[0-9]{3})*(?:\.[0-9]{2})?$
他の要件に応じて、以下のように変更しました。したがって、この次の例では、小数点以下の桁数 (.) を 10 に制限することに成功しています。ただし、さらにいくつかの課題があります。
^[0-9]{1,3}(?:,?[0-9]{3})*(?:\.[0-9]{0,**10**})?$
- RegEx で 0.99 と .99 も検証する必要があります。上記の RegEx では、0.99 は検証されますが、.99 は一致しません。したがって、正規表現を次のように更新しました。
^[0-9]{**0**,3}(?:,?[0-9]{3})*(?:\.[0-9]{0,10})?$
これで現在の問題は解決しましたが、今では ,333,323 パターンにも一致しました。
- 正規表現を更新して 10 桁に制限しましたが、小数点以下 18 桁に制限する必要もあります (米国通貨の区切り文字 "," なし)。いくつかのパターンを試しましたが、うまくいきませんでした。
どんな助けでも大歓迎です。