我有这个正则表达式不适用于“45”它适用于-1.3434 1.43454(+ - )[0-9]。[0-9]
正则表达式: “^(\ - )?[0-9] + \。[0-9] $”
答案 0 :(得分:2)
尝试以下方法:
^(\-)?[0-9]+(\.[0-9]+)?$
从左到右解释模式
答案 1 :(得分:1)
它必须是这样的,允许可选的十进制:
^-?\d+(\.\d+)?$
在字符串(^
)的开头,有一个可选的短划线(-?
),后跟一些数字(\d+
)。然后它也可以出现一次小数(\.
),后跟一些数字(\d+
) - 一起作为(\.\d+)?
。然后它就是字符串的结尾($
)。
注意:破折号不需要转义,因为它在字符类之外。
答案 2 :(得分:0)
在您的正则表达式中,点符号(。)是必需的。试试这个:
^(\-)?[0-9]+(\.?[0-9]{1,})?$