我想分析uptime
Unix命令的输出。
这是两个不同的示例:
14:25 up 1 day, 1:24, 2 users, load averages: 0,56 0,48 0,47
14:25 up 1:24, 2 users, load averages: 0,56 0,48 0,47
(我使用的语言是Python)
所以,假设上面的两个示例被保存到变量s1
和{
这是我写的代码:
^{pr2}$regex的第二部分,即占用正常运行时间数小时分钟的部分,工作得非常完美。但是为什么元组的第一部分总是None
?我错过了什么?这是不是一个贪婪与非贪婪的问题?在
替代方法是直接从
/proc/uptime
读取,而不是从命令行读取输出:
^{pr2}$现在,使用tokenise或split内建来解析它要容易得多
您想将
.*?
移动到可选日组中,并使用.search()
:演示:
^{pr2}$模式锚定在
:
上,然后回溯。然后,.*?
匹配时间签名之前的整个文本,这符合模式。在通过将
.*?
部分移到可选的day
组(在我的版本中为非捕获),您可以保证它不会回溯到day
文本。在匹配从字符串的开头开始,add.*?一开始
相关问题 更多 >
编程相关推荐