2013-05-18 63 views
-2

是否可以使用正整数提取正整数,负整数,正整数和负整数正则表达式 - 十进制

我一直在使用-\d+正则表达式来获得正数和负数。

有效号码:

-1 
-1.0 
1 
1.0 
+0

请参阅http://stackoverflow.com/questions/2072222/regular-expression-for-positive-and-a-negative-decimal-value-in-java –

+0

http://stackoverflow.com/questions/308122/simple-regular-expression-for-a-decimal-with-a-precision-of-2 - 也许它会帮助你? – Fisk

回答

3

正则表达式

[+-]?\d+(?:\.\d+)? 

会接受像

1123 
1.00 
+123213 
-123.234324 

号码,如果你也喜欢像0.23匹配的数字,你有可以使用

[+-]?(?:(?:\d+)|(?:\d*\.\d+)) 
+0

我如何检查“ - ”或“+”等“特殊字符”? – user2301717

+0

你只想匹配 - 或+?只需使用[+ - ] – MofX

+0

谢谢,,,:D – user2301717

0

我会尝试这样的:

^[+-]?(\d+(\.?\d+)?|\.\d+)$ 

匹配所有的例子和数字,如:

  • +1.0
  • .56
  • +.56
  • -.56
+0

您的表情是否符合'1.'?应该是? –

+0

@EricLippert呃,对不起。固定。 –