正则表达式字符串到数值(不需要额外的字符)

时间:2017-05-09 09:40:18

标签: regex monitoring snmp extraction

我需要通过正则表达式从字符串中提取一个数值,但我遇到了一个问题。

这是我得到的字符串样式:

XC.qca955x.v7.2.4.31259.160714.1715

目标是得到:7.24

现在我正在使用\ d +。\ d +给我:7.2

我缺少额外的4个。

最终的提取只能解释为数值,所以我需要添加最后一个没有点的数字。

这是否可以使用Regex?

非常感谢您的支持。

1 个答案:

答案 0 :(得分:1)

我不知道您使用的是哪种语言,但这里有两种解决方案可以解决您的问题。

首先,您可以使用2个捕获组,然后将它们连接起来:
\.v(\d+\.\d+)\.(\d+)
然后连接$ 1和$ 2(组1和组2)

您也可以使用您所用语言的正确功能来取点,然后将其删除:
\.v(\d+\.\d+\.\d+)
然后用(.*)\.(\d+)$

替换$ 1(组1)$1$2