你们中的任何人都可以用正则表达式来帮助我:
123.123
123.
1323.2
1.2312
1,23
123123,32
123,
123412
所以总结一下:只有一个小数点,它可以是最后一个......但大多数不是第一个。
但不是这样:
12.323.323
1213..
12331...3123
.12313
,123132
答案 0 :(得分:11)
这应该有效
^\d+[\.,]?\d*$
^
开头的字符串
\d+
个或多个数字
[\.,]?
0或1十进制或逗号
\d*
0位或更多位数
$
字符串结束。
答案 1 :(得分:2)
\b\d+(\.|,)\d*\b
表示:
a word boundary
a digit one or more times
a `.` or a `,`
a digit zero or more times
a word boundary
单词边界用于防止正则表达式从数字的中间匹配
答案 2 :(得分:0)
试试这个,它适用于你提到的所有情况。
(\ d +)(((\ |。,)\ d +)|))
答案 3 :(得分:0)
我对你的正则表达式的修复:( \ d +)(((。|,)\ d +)|,)? 添加了'?'结束,它将适用于零值