必要なものに対して有効な正規表現を作成したと思います。誰かがそれを壊したり、それを書くためのより短い方法を見たりできるかどうか疑問に思っています.
正規表現は以下を検証する必要があります...
- ドル記号はオプション
- マイナスではなく、括弧で囲まれた負の数
- 負の場合、ドル記号は括弧の外にある必要があります
- カンマはオプションです
- 最大数は 999999.99 です
- 最小数は (999999.99)
- 小数を指定する必要はありませんが、指定する場合は 2 桁までです
だからここにいくつかの有効なものの例があります...
9
$9
$0.99
($999,999.99)
(999999)
($999999)
(999,999)
99,999.9
これは私が思いついたものです:
^\$?(((\d{1,6}(\.\d{1,2})?)|(\d{1,3},\d{3}(\.\d{1,2})?)|\(((\d{1,6}(\.\d{1,2})?)|(\d{1,3},\d{3}(\.\d{1,2})?))\)))$
訂正、仕様が間違っていました。ドル記号を使用する場合は、括弧の内側にある必要があります。