【问题标题】:python regex for operating system name操作系统名称的python正则表达式
【发布时间】: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@

标签: python regex parsing


【解决方案1】:

您不需要正则表达式。使用这个:

>>> import os
>>> os.name
'posix'
>>> import platform
>>> platform.system()
'Linux'
>>> platform.release()
'2.6.22-15-generic'

这适用于所有操作系统。

【讨论】:

  • 我试图从一行中解析它,而不是试图从系统中获取操作系统名称。谢谢!
猜你喜欢
  • 1970-01-01
  • 2013-11-20
  • 2010-09-21
  • 2010-10-29
  • 2011-05-11
  • 2019-08-09
  • 2023-04-09
相关资源
最近更新 更多