Regex 正则表达式-带逗号和小数的金额
从上面的正则表达式:Regex 正则表达式-带逗号和小数的金额,regex,Regex,从上面的正则表达式: 0.1--->无效 0.10--->有效 10--->有效 100.00--->有效期 -0.1--->无效 -0.10--->无效 -10--->无效 -100.00--->无效 现在我想在正则表达式中添加逗号,如下所示: 1000.00--->有效期 10000.00--->有效期 100000.00--->有效期 1000000.00--->有效 -1000.00--->无效 如何更正正则表达式?在正则表达式中,您需要更改 ^([1-9][0-9]*|0)(\
- 0.1--->无效
- 0.10--->有效
- 10--->有效
- 100.00--->有效期
- -0.1--->无效
- -0.10--->无效
- -10--->无效
- -100.00--->无效
- 1000.00--->有效期
- 10000.00--->有效期
- 100000.00--->有效期
- 1000000.00--->有效
- -1000.00--->无效
如何更正正则表达式?在正则表达式中,您需要更改
^([1-9][0-9]*|0)(\.[0-9]{2})?$
表示“从非零开始的一个或多个数字”,至
它表示“从非零开始的一到三个数字[1-9][0-9]{0,2}
,后跟任意数量的组,每个组有三个数字(,[0-9]{3})*
”
生成的正则表达式将是:
[1-9][0-9]{0,2}(,[0-9]{3})*
由于存在逗号或存在-?-,因此无效。
^([1-9][0-9]{0,2}(,[0-9]{3})*0)(\[0-9]{2})?$
@Wolf:负数在原始表达式和测试用例中已经无效。@PetSerAl:请将其作为答案发布。感谢您最终将其作为答案发布:-)如果您希望解释这些部分(我从斜体中猜出来),您是否尝试将其分为几个部分?我只是用引号试了一下(在预览版中),看起来比较容易找到。@Wolf不确定我是否理解你的意思,我的英语不是很好。我试图改进我的职位。如果你认为,你可以做得更好,请随意编辑。
[1-9][0-9]{0,2}(,[0-9]{3})*
^([1-9][0-9]{0,2}(,[0-9]{3})*|0)(\.[0-9]{2})?$