【发布时间】:2014-08-21 20:38:57
【问题描述】:
我正在尝试获取操作系统名称的正则表达式:Windows XP、Windows Vista、Windows 7、Windows 8、Windows 8.1 和 Windows Server 2008 R2
通常操作系统名称在一行中,例如:
操作系统:Windows 7 Professional 64-bit (6.1, Build 7601) Service Pack 1 (7601.win7sp1_gdr.140303-2144)
我试过这个正则表达式:\s*(\w+\s*\w*\.\w|\s])
直到 Windows 8.1 才有效,对于上述所有操作系统名称来说,什么是一个好的正则表达式。已经尝试了几个小时,谢谢您的帮助。
【问题讨论】:
-
windows 系列是不是你的目标?
-
是否总是在“操作系统:”之前并在“64 位”或“32 位”之后?如果是这样......你可以做类似
(?<=Operating System:\s*)(.*?)(?=\s*\d+\-bit) -
@HuStmpHrrr ya only windows series like: Windows XP, Windows Vista, Windows 7, Windows 8, windows 8.1 and windows server 2008 R2 操作系统的名称只是我想解析的谢谢
-
@smerny 前面总是有“操作系统:”我不确定位
-
如果您正在寻找类似的特定内容并希望成为最安全的(不捕获额外内容)......没有那么多选择,所以你甚至可以做这样的事情......@ 987654323@