正则表达式从字符串中提取版本 [英] Regex to extract version from string
本文介绍了正则表达式从字符串中提取版本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个低于值的字符串
I have a string which has below value
String1=winos-app-1.2.0-4.20120308.InLinuxOS.x86_64
String1=winos-app-1.2.0-4.20120308.InLinuxOS.x86_64
我只需要从这个字符串中提取1.2.0-4"的版本
I need to extract only version from this string which is "1.2.0-4"
我已经用 sed 尝试过如下所述的正则表达式
I have tried regular expression as mentioned below with sed
sed -ne 's/[^0-9]*\(\([0-9]\.\)\{0,1\}[0-9][^.]\).*/\1/p'
但我只得到结果1.2.0-",-"后缺少数字,即 4.我尝试更正它,但它返回空值.
but I am only getting result "1.2.0-", missing number after "-" which is 4. I tried correcting it but it is returning null.
请多多指教
推荐答案
sed -n 's/^.*-\([0-9.]*-[0-9]*\)\..*$/\1/p'
这篇关于正则表达式从字符串中提取版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文