繁体   English   中英

从字符串中提取版本号的正则表达式模式

[英]Regex pattern to extract version number from string

我想从字符串中提取版本号。

a string =  "Tale: The  Secrets 1.6"

b string=" The 34. Mask 1.6.98";

所以对于版本号是 1.6 而对于 b 是 1.6.98

\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;

你可以写

[0-9]+(\.[0-9]+)+$

这应该与格式匹配。 $用于最后匹配,如果不需要可以删除。

版本号是指任何散布点的数字序列吗?

\d+(\.\d+)+

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM