带有可选( - )或(。)和有限总位数的十进制正则表达式

时间:2017-12-27 19:07:32

标签: java regex

检查字符串是否符合[ - ] n [.n]的正则表达式是什么,其中n是任何数字(1-9),最少3位数,最多20位? “ - ”和/或“。”不应包括在数字计数内。

到目前为止,我有这个:

^([-]?(?=.{3,21}$)\d+(?:\.\d+)?)

在大型模式中,只要你输入一个非法字符,它就会匹配到该字符的所有内容。即

-84.427345-388625

将匹配

-84.427345

然而我需要它在那一点上不匹配任何东西。这是我目前无法弄清楚的。

如果在号码之前和/或之后有任何非法字符,它也应该不匹配。生成的正则表达式需要与标准的Java正则表达式库兼容。

0 个答案:

没有答案