我正在尝试验证点和数字。
有效:
1.2.3
1.4.1
无效:
1.2.3.
1.2-3
1-2-3
我从另一个线程尝试了以下内容,它适用于有效,但它也使用短划线( - )传递无效。
^\d+(.\d+)*$
对正则表达式有什么好处,所以严格只验证点和数字?
由于
答案 0 :(得分:4)
你需要转义点,否则正则表达式中的“任何字符”:
^\d+(\.\d+)*$
答案 1 :(得分:3)
答案 2 :(得分:2)
如果您需要可变数量的点和数字重复数字&点并将最后一个作为唯一数字:
(\d+\.)+\d+
它匹配1.2.3 1.2.3.4等等
如果您需要固定长度的数字,请将重复次数代替+运算符
(\d+\.){2}\d+ #for 1.2.3
(\d+\.){1}\d+ #for 1.2
答案 3 :(得分:1)
使用此正则表达式^\d+\.\d+\.\d+$
你在点,点的错误意味着任何符号
答案 4 :(得分:1)
点匹配所有字符,您应该使用\。
^ \ d +(\。\ d +)* $
但是这也可以验证没有点的任何数字,当至少应该存在1个点时使用:
(\ d + \。)+ \ d +