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

wil*_*utz 5 regex numbers

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

234

-8

3.346

-564.4

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

ABC

.-.

<11.45

amount111.43

345.654.​​33

red*_*d-X 12

这应该这样做:

^-?\d+(\.\d+)?$
Run Code Online (Sandbox Code Playgroud)

^ 字符串的开头

-? 减号一次或零次

\d+ 数字,一个或多个

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

$ 字符串的结尾

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