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

问题描述 投票:0回答:1

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

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

XC.qca955x.v7.2.4.31259.160714.1715

目标是获得:7.24

现在我正在使用

\d+\.\d+
这给了我:7.2

我缺少额外的4个。

最终提取只能解释为数值,因此我需要添加最后一位不带点的数字。

这可以用正则表达式实现吗?

非常感谢您的支持。

regex monitoring snmp extract
1个回答
1
投票

我不知道您使用的是哪种语言,但这里有 2 个解决您问题的方法。

首先你可以使用 2 个捕获组,然后将它们连接起来:

\.v(\d+\.\d+)\.(\d+)

然后连接 $1 和 $2(组 1 和组 2)

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

然后用
(.*)\.(\d+)$
 替换 $1(第 1 组)
$1$2

© www.soinside.com 2019 - 2024. All rights reserved.