正则表达式应符合以下条件。点之前和之后的元素数量可以是任意数量。仅允许1个点,仅在第一个位置允许使用负号。我不需要逗号。
示例:
1
-1
-1.
1.
1.2
-.2
-0.2
000.300
以上所有表达式都应该成立。
所以如果我分手了......
任何帮助将不胜感激。
答案 0 :(得分:5)
你可能想要的是:
^-?\d*\.?\d*
这会给你一个可能的负号(-?
),
后跟任意数字(\d*
),
后跟一个可能的小数点(\.
),
后跟小数点后的任意数量的尾随数字(\d*
)。
由于你只是想验证它是否是一个有效的浮点数,所以@MarcinJuraszek有一个好点,你可能不想在这里使用正则表达式。
答案 1 :(得分:2)
1)首先是可选的负号:
^:字符串的开头
- :减号
? :使前面的字符可选
2)零个或多个数字
/ d:数字
*:匹配前一个事物的数量(包括零)
3)可选点
。 :点
? :使点可选
4)点后的0或更多细节
/ d:数字
*:匹配前一个事物的数量(包括零)
所以一起:^ - ?/ d *。?/ d *
答案 2 :(得分:0)
这是我的解决方案
<强>赞成强>
<强>缺点强>
[ - ] \ d {1,18}?(?:[。,] \ d {1,2})?$