我希望能得到这样的匹配结果:
3.1.0
10.5.1
0.5
这可能代表构建版本编号系统。
非匹配项:
3.1.
I tried this regex:
[0-9]+\.[0-9]+
这只会得到0.5
而不是10.5.1
。
这个怎么样:
\d+(?:\.\d+)+
^\d{1,3}\.\d{1,3}(?:\.\d{1,6})?$
这将匹配主次版本号和可选修订版本号。主版本号和次版本号可以是1-3位数字(0-999),修订版本号可以是6位数字。
有效的版本号格式: 1.1 1.2.3 1.2.123456
无效的版本号格式: 1 1.2. 1.2.1234567 1.2.* 任何包含字母字符的内容
(\d+\.){1,3}\d+
将匹配以下内容
Express Edition(64位)RTM 15.0.4223.1
15.0.4223.1
15.0.4
15.0
并且 不匹配 以下内容
15
15.
^\d+(?:\.\d+){2}$
{2} 确保不匹配如 10.5 版本。
^ 和 $ 将“保护”版本的开头和结尾,防止出现以下情况:
A10.5.1
10.5.
10.5.1A
试试这个:
[0-9]+\.[0-9]+(?:\.[0-9]+)?
(?:
的意思是10.5.
我认为这样会更有意义:
^(?: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]+[\.]??
(Programming相关)虽然没有彻底测试,但就是这样了,伙计们 :-)
(?<major>\d+)(?<minor>:\.\d+)?(?<build>:\.\d+)?(?<revision>:\.\d+)?
\d+(?:\.\d+){1,2}
很好,可以将其作为\d+(?:\.\d+){1,100}
作为可接受的方法。 - Ken D10.5.
):http://regexhero.net/tester/?id=f9dc4e62-06db-4a53-a60a-e3291cf33c29 - Mrchief*
)也匹配了尾随的.
。而我的代码则没有。 - zerkms10.5.
和类似的内容。 - Ken D