正则表达式从字符串中提取版本 [英] Regex to extract version from string

查看:61
本文介绍了正则表达式从字符串中提取版本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个低于值的字符串

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆