正则获取字符串中的软件“数字.数字.数字.数字”类型版本号
我的项目中用到的正则,记录一下。
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' |
正则表达式在很多地方可以省略很多重复工作,提高工作效率,是个好东西。