regex - 正则表达式匹配软件版本
问题描述
当我使用 -V 开关查询 ssh.exe 时,我得到一个看起来像这样的字符串:
OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.4
我需要一个只会返回“7.7”的正则表达式过滤器。问题是我不知道版本号之前或之后会出现什么文本,所以我试图只返回“一个数字、一个点和一个数字”,但我不知道如何首先隔离它实例(7.7)并忽略第二个(2.4.6)。
除了匹配太多实例之外,这还有效:
\d\.\d
那么,我将如何修改它以忽略额外的文本?
谢谢。
解决方案
您必须删除正则表达式中的全局属性。像这样:
/\d\.\d/
不像这样:
/\d\.\d/g
推荐阅读
- node.js - 不支持选项 [useFindAndModify]
- python - 如果第三个单元格匹配,将值从数据帧的一个单元格复制到另一个数据帧的最快方法
- php - 如何 get_fields() 自定义帖子类型中的翻译值?
- android - 通过 NFC 发送大字符串
- flutter - 未来
将字符串插入 FutureBuilder 和 Switch 语句 - mfc - 如何在 MFC 中的 CTreeCtl 中获取一直到 root 的完整路径
- c# - 获取,发布到休息 api
- kubernetes - Kubernetes:为 kube-system 命名空间设置资源配额的最佳实践
- reactjs - ReactJS TypeError:无法读取未定义的属性“推送”
- javascript - 如何在 Javascript/HTML/CSS 上应用多个变换源?