我需要一个只匹配双数的正则表达式,并且不会同时匹配整数。双数可以是正数也可以是负数,也可以是:.99
现在我有了这个:^(-?(\d+)?.\d+)$
虽然它仍然匹配itntegers。也许有人可以帮忙吗?
我想这样检查......
if('regexForIntegersOnly' && matches("^(-?(\d+)?.\d+)$"))
但也许只有一个正则表达式可以做到这一点吗?
答案 0 :(得分:2)
Dot .
is metacharacter in regex表示任何字符(行分隔符除外)。要使其仅匹配.
字面值,您需要将其转义。试试
^(-?(\d+)?\.\d+)$
^-escaped dot