版本号的正则表达式
我想得到这样的比赛:
3.1.0 10.5.1 0.5
这可能代表构建版本编号系统。
非比赛:
3.1.
我试过这个正则表达式:
[0-9]+\.[0-9]+
这只得到0.5
而不是10.5.1
。
那这个呢:
\d+(?:\.\d+)+
这个怎么样?
^\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。*任何带有字母字符的东西
试试这个:
[0-9]+\.[0-9]+(?:\.[0-9]+)?
我认为这应该更有意义:
^(?:0|[1-9][0-9]*)(?:\.(0|[1-9][0-9]*))*$
如果数字超过1位,则每个数字组件必须以非零开始。
这可能是一个老话题,但我发现了同样的问题,发现了一些更简单的解决方案,所以这可能有助于寻找答案的人。 这个(\[0-9\]+\[\.\]?)+
将匹配这些:
7.1.1 12.1.1.3.12.442.5463.343.44.5 9 11.1.1 11.1.1
此外,如果有人想要只获得数字(或者在点上分割),这将有助于:
[0-9]+[\.]??
( regexhero )
没有彻底测试,但那是人们:-)
(?\d+)(?:\.\d+)?(?:\.\d+)?(?:\.\d+)?