首页 > 解决方案 > 正则表达式匹配软件版本

问题描述

当我使用 -V 开关查询 ssh.exe 时,我得到一个看起来像这样的字符串:

OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.4

我需要一个只会返回“7.7”的正则表达式过滤器。问题是我不知道版本号之前或之后会出现什么文本,所以我试图只返回“一个数字、一个点和一个数字”,但我不知道如何首先隔离它实例(7.7)并忽略第二个(2.4.6)。

除了匹配太多实例之外,这还有效:

\d\.\d

那么,我将如何修改它以忽略额外的文本?

谢谢。

标签: regex

解决方案


您必须删除正则表达式中的全局属性。像这样:

/\d\.\d/

不像这样:

/\d\.\d/g

推荐阅读