正则表达式匹配美元金额

MAC*_*MAC 6 javascript c# regex asp.net

有人能为我提供以下模式的正则表达式吗?

$ 1234

$ 31234.3

$ 1234.56

$ 123456.78

$ .99

我的要求是小数点前的数字不应超过6,小数点后不应超过2位数.请帮我.提前致谢..

Ama*_*osh 9

^\$(?=.*\d)\d{0,6}(\.\d{1,2})?$
Run Code Online (Sandbox Code Playgroud)

(?=.*\d)确保字符串中至少有一个数字.没有它,正则表达式^\$\d{0,6}(\.\d{1,2})?$将匹配字符串$.

顺便说一下,前瞻不需要这么久; 即使是简单的(?=.)事情,因为正则表达式确保后续字符确实有效.因此,它可以简化为

^\$(?=.)\d{0,6}(\.\d{1,2})?$
Run Code Online (Sandbox Code Playgroud)