正则获取字符串中的软件“数字.数字.数字.数字”类型版本号

我的项目中用到的正则,记录一下。

1
2
3
a string =  "Tale: The  Secrets 1.6"

b string=" The 34. Mask 1.6.98";

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

1
\d+(\.\d+)+

\ d + :一位或多位数字
\.:一分
(\.\ d +)+ :一个或多个点数字出现

会找到

1
2
3
2.5
3.4.567
3.4.567.001

比较好用的是

1
(\d+(\.\d+){2,6})

我参考的是\d+(\.\d+){2,6}

数字6的含义是指定最多出现的次数
但在不同的地方用法稍稍有点变化。

如果是这样

String19=winos-app-1.3.9-4.20220808.InLinuxOS.x86_64
提取1.3.9-4″的版本号

正则

1
sed -n 's/^.*-\([0-9.]*-[0-9]*\)\..*$/\1/p'

正则表达式在很多地方可以省略很多重复工作,提高工作效率,是个好东西。

此文章的评论已关闭.