你们中的任何人都可以帮助我使用正则表达式来允许这样做:
123.123
123.
1323.2
1.2312
1,23
123123,32
123,
123412
所以总结一下:只有一个小数点,它可以是最后一个..但大多数不是第一个。
但不是这个:
12.323.323
1213..
12331...3123
.12313
,123132
这应该工作
^\d+[\.,]?\d*$
^
字符串开头
\d+
1 位或多位数字
[\.,]?
0 或 1 位十进制或逗号
\d*
0 位或多位数字
$
字符串结尾。
\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
单词边界是为了防止正则表达式从数字中间匹配
试试这个,它适用于你提到的所有情况。
(\d+)(((\.|,)\d+)|,))
我对您的正则表达式的修复: (\d+)(((.|,)\d+)|,)? 添加 '?' 最后,它将适用于零值