我需要一个只接受数字和点正则表达式,这些条件:重复的正则表达式?
- 数字三者之间只能有一个点“132.632.55”
- 数字可以在两个点之间重复”。 112234563456789.”
- 该字符串以数字开头
- 带“”的数字。像这样'123346547987'。可以重复多次
- 长度的这些数字是小于50个字符
例如:123456.258469.5467.15546
我需要一个只接受数字和点正则表达式,这些条件:重复的正则表达式?
例如:123456.258469.5467.15546
鉴于该问题的所有信息,我觉得这是你所需要的正则表达式:
^(\d{1,50}\.)*\d{1,50}$
这将:
不再如果你需要它至少有一个点,该*
到+
改变:
^(\d{1,50}\.)+\d{1,50}$
伟大的你是正则表达式英雄。 – Rev 2010-08-10 15:05:06
从我可以从你的要求告诉,你想是这样的:
^(\d{1,50}\.)*\d{1,50}$
也就是说,从1到50位数字,可选地在任何数量的1到50位数的组之前,每组接着一个完整的停止。我无法确定您是否想要1233.456
之类的内容无效,因为您的要求#2意味着只有点之间的数字组可以包含重复数字。在这种情况下,在事实之后执行单个数字组的验证会简单得多。
修正并澄清。 @Timwi在我还在编辑时回答完全相同。 – 2010-08-10 13:10:24
所以你从我那里得到了1票,你发出正确的答案! – Rev 2010-08-10 15:03:46
位数=号码,您可以互换使用它们。请澄清。 – quantumSoup 2010-08-10 12:46:30
*这些数字的长度小于50个字符* - 是指一个数字(简单)运行的长度或整个字符串的长度的长度(最好在正则表达式之外完成?) – finnw 2010-08-10 12:47:48