正则表达式只匹配双NOT int

时间:2015-04-05 13:36:23

标签: java regex

我需要一个只匹配双数的正则表达式,并且不会同时匹配整数。双数可以是正数也可以是负数,也可以是:.99

现在我有了这个:^(-?(\d+)?.\d+)$ 虽然它仍然匹配itntegers。也许有人可以帮忙吗?

我想这样检查......

if('regexForIntegersOnly' && matches("^(-?(\d+)?.\d+)$"))

但也许只有一个正则表达式可以做到这一点吗?

1 个答案:

答案 0 :(得分:2)

Dot . is metacharacter in regex表示任何字符(行分隔符除外)。要使其仅匹配.字面值,您需要将其转义。试试

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