正则表达式数字和小数点

时间:2013-03-18 11:27:16

标签: c# regex

你们中的任何人都可以用正则表达式来帮助我:

123.123
123.
1323.2
1.2312
1,23
123123,32
123,
123412

所以总结一下:只有一个小数点,它可以是最后一个......但大多数不是第一个。

但不是这样:

12.323.323
1213..
12331...3123
.12313
,123132 

4 个答案:

答案 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 +)|,)? 添加了'?'结束,它将适用于零值