匹配含正整数,负整数,0,负小数,正小数,0.00等多种情况的正则表达式如下(亲测可用)
-?(0|[1-9]\d*)(\.\d+)?
通常我们会在正则表达式里加上开头结尾,更完整的就是这个(前端)
const pattDecimal = /^-?(0|[1-9]\d*)(\.\d+)?$/
放在后端会有转义字符 \ 的错误,所以后端是这样哒
String regex = "^-?(0|[1-9]\\d*)(\\.\\d+)?$";
下面是对正则的解释
-?
#匹配负号,问号表示负号是可选的,可正可负
(0
#匹配整数位为0的情况
|[1-9]\d*)
#匹配整数位不为0的情况,首位不能为0
(.\d+)?
#匹配小数部分,问号表示小数部分是可选的
只能输入(正整数或正小数)的正则表达式如下(PS:这个正则没测试过)
//#去掉-?就可以了
(0|[1-9]\d*)(\.\d+)?
如果需要排除0和0.00(正数),可以这样写(PS:这个正则没测试过)
(?=.*[^0.])(0|[1-9]\d*)(\.\d+)?
这是原文路径: 绯弹亚丝娜.
此文仅作记载,防止用时找不到