检查字符串是否符合[ - ] n [.n]的正则表达式是什么,其中n是任何数字(1-9),最少3位数,最多20位? “ - ”和/或“。”不应包括在数字计数内。
到目前为止,我有这个:
^([-]?(?=.{3,21}$)\d+(?:\.\d+)?)
在大型模式中,只要你输入一个非法字符,它就会匹配到该字符的所有内容。即
-84.427345-388625
将匹配
-84.427345
然而我需要它在那一点上不匹配任何东西。这是我目前无法弄清楚的。
如果在号码之前和/或之后有任何非法字符,它也应该不匹配。生成的正则表达式需要与标准的Java正则表达式库兼容。