我想得到这样的比赛:
3.1.0
10.5.1
0.5
可能代表构建版本编号系统。
非匹配:
3.1.
我试过这个正则表达式:
[0-9]+\.[0-9]+
这只获得0.5
但不是10.5.1
。
答案 0 :(得分:14)
这个怎么样:
\d+(?:\.\d+)+
答案 1 :(得分:3)
这个怎么样?
^\d{1,3}\.\d{1,3}(?:\.\d{1,6})?$
这将匹配Major.Minor和可选修订版。 Major和Minor可以是1-3位数(0-999),Revision可以是6位数。
有效期: 1.1 1.2.3 1.2.123456
无效: 1 1.2。 1.2.1234567 1.2。* 任何带有字母字符的东西
答案 2 :(得分:0)
试试这个:
[0-9]+\.[0-9]+(?:\.[0-9]+)?
答案 3 :(得分:0)
我认为这应该更有意义:
^(?:0|[1-9][0-9]*)(?:\.(0|[1-9][0-9]*))*$
如果数字组成超过1位,则每个数字组件都必须以非零开始。
答案 4 :(得分:0)
这可能是一个老话题,但我发现了同样的问题,发现了一些更简单的解决方案,所以这可能有助于寻找答案的人。
这个(\[0-9\]+\[\.\]?)+
符合以下条件:
7.1.1
12.1.1.3.12.442.5463.343.44.5
9
11.1.1
11.1.1
另外如果有人想要只获得数字(或者在点上分割) 这样就可以了:
[0-9]+[\.]??
答案 5 :(得分:0)
没有彻底地测试它,但那是大家: - )
(?<major>\d+)(?<minor>:\.\d+)?(?<build>:\.\d+)?(?<revision>:\.\d+)?