我需要一个只接受数字和点的正则表达式,具有以下条件:
例如:123456.258469.5467.15546
答案 0 :(得分:5)
鉴于问题中的所有信息,我认为这是您需要的正则表达式:
^(\d{1,50}\.)*\d{1,50}$
这将:
如果您需要至少有一个点,请将*
更改为+
:
^(\d{1,50}\.)+\d{1,50}$
答案 1 :(得分:1)
从我的要求中可以看出,你需要这样的东西:
^(\d{1,50}\.)*\d{1,50}$
即,从1到50位数字,可选地前面有任意数量的1到50位数组,每组后跟一个完整停止。我不能确定你是否希望1233.456
这样的东西无效,因为你的要求#2暗示只有点之间的数字组可以包含重复数字。在这种情况下,事后对单个数字组进行验证会更加简单。