我想从一个字符串中提取版本号。
a string = "Tale: The Secrets 1.6"
b string=" The 34. Mask 1.6.98";
所以,对于版本号为1.6的a和版本号为1.6.98的b
我想从一个字符串中提取版本号。
a string = "Tale: The Secrets 1.6"
b string=" The 34. Mask 1.6.98";
所以,对于版本号为1.6的a和版本号为1.6.98的b
\d+(\.\d+)+
\d+
:一个或多个数字
\.
:一个点
(\.\d+)+
:一个或多个点加数字的组合
会找到
2.5
3.4.567
3.4.567.001
但是将不会找到
12
3.
.23
如果你想排除像2.5
这样的小数,并且希望版本号至少有3个部分,你可以使用类似这样的量词:
\d+(\.\d+){2,}
在逗号后面,您可以指定最大出现次数。尝试:
Regex pattern = new Regex("\d+(\.\d+)+");
Match m = pattern.Match(a);
string version = m.Value;
34.
。 - Douglas您可以书写
[0-9]+(\.[0-9]+)+$
这应该符合格式。 $
表示匹配结尾,如果不需要可以省略。
\d+(\.\d+)+