我正在编写一个正则表达式,用于返回安装在 Windows 机器上的 OpenSSH 版本号,以供我们的监控系统使用。我有以下两个字符串:
version=OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.4
version=OpenSSH_7.1p1 Microsoft_Win32_port_with_VS Dec 22 2015, OpenSSL 1.0.2d 9 Jul 2015
当正则表达式为:
\S+Windows_(\d.\d)
那么7.7就在第一组,监控系统可以看到它。但是当我试图覆盖7.1字符串时,分组就会混乱。
(\S+Windows_(\d.\d)|\S+OpenSSH_(\d.\d))
我该如何修改这个字符串以分离第三组和第一组(分别为7.1和7.7)?
谢谢。
.
才能获取一个字面上的.
,否则\d.\d
将与两个数字之间的任何字符匹配。 - dawg