根据你的要求,给你一个正则表达式
String regex="^\$[\*]{0,6}([1-9]{0,6}[\.][0-9]{2}|[0][\.][0-9]{2})$";
这个正则符合你的要求
但是没有去掉特殊情况
比如$.00也是成立的
$10.00不成立,因为小数点前面有0(感觉你不是要这个效果,但是你是这么说的,呵呵)
至于你说的每个3个数字加个小数点,这个需要在程序中实现,你先获得
别人的输入,判断之后,自己加
如果你不需要读取$,*等字符,感觉这个别叫用户输入
最后那个小数点后面的位数我写死了是2个,如果你不想这样,你可以给正则里面2改成{0,2}