可以在任何你帮我一个正则表达式允许这样的:正则表达式的数字和小数点
123.123
123.
1323.2
1.2312
1,23
123123,32
123,
123412
这样总结:只有一个小数点,也可以是最后一次..但最不首先。
但不是这样的:
12.323.323
1213..
12331...3123
.12313
,123132
可以在任何你帮我一个正则表达式允许这样的:正则表达式的数字和小数点
123.123
123.
1323.2
1.2312
1,23
123123,32
123,
123412
这样总结:只有一个小数点,也可以是最后一次..但最不首先。
但不是这样的:
12.323.323
1213..
12331...3123
.12313
,123132
\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
词的边界,以防止有正则表达式匹配来自多个
这是一个简单的,但它也会匹配一个,或。通过它自己。要处理这种情况,您需要将其更改为处理单独的案例(数字,前面,后面或两者)。我将留给你,因为修改这个正则表达式可以帮助你理解它 – 2013-03-18 11:37:19
试试这个,它适用于你提到的所有情况。
(\ d +)(((\ |)\ d +)|,。))
您需要转义' .'与'\ .',或者它会匹配123a123之类的东西。 – Tom 2013-03-18 11:51:56
我这里测试http://gskinner.com/RegExr/ 和它的作品! – 2013-03-18 13:53:27
哦,你说得对。 – 2013-03-18 13:55:30
我的修为您正则表达式:(\ d +)(((|)\ d +)|,) ? 添加了'?'结束,它将适用于零值
更'正则表达式'更''解析'我建议。 – Jodrell 2013-03-18 11:30:29
尝试'decimal.Parse'或'double.Parse' – Romoku 2013-03-18 11:33:31
可能重复的[C#RegEx for decimal number](http://stackoverflow.com/questions/6087620/c-sharp-regex-for-decimal-number) – stema 2013-03-18 11:38:27