匹配任何正数或负数数值但没有字符或混合字符串的正则表达式

时间:2012-07-31 11:46:02

标签: regex numbers

到目前为止我还没有使用正则表达式,但我需要一个匹配表示正数或负数数值的字符串的正则表达式,如

234

-8

3.346

-564.4

它不应匹配任何文字或混合字符(<>#?_ ...),数字和文字,如

ABC

.-。

< 11.45

amount111.43

345.654.​​33

1 个答案:

答案 0 :(得分:11)

这应该这样做:

^-?\d+(\.\d+)?$

^字符串

的开头

-?减号一次或零次

\d+个数字,一个或多个

(\.\d+)?后跟一个或多个数字的点,整个块一次或零次

$字符串结尾

另请注意Utkanos对SO的下一个问题的评论:)