PHP preg_match for linux uptime command / reponse

时间:2017-10-24 06:31:40

标签: php linux

所以我使用php来解码文本文件中Linux命令的时间

throw new NumberFormatException("Invalid Format for a Binary String - Illegal character: " + illegal(binary));

我需要1:58返回。我试过了:

:~>uptime
:~>23:20pm  up   1:58,  1 user,  load average: 0.11, 0.09, 0.11
:~>

但得到" 23:20"的结果。另外" 1:58"可以成长为像#12; 34:56"而且我也需要它。

我在表达方面非常挣扎。我感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您可以尝试以下正则表达式:

/[0-9]{1,2}:[0-9]{2}[:]{0,1}[0-9]{0,2}/

这将检查是否有另一个:00作为时间的一部分,如果没有,它将获得它然后它将忽略。 Demo

修改:上述正则表达式的小问题也会匹配:12:3342。因此,为此您可以使用以下正则表达式(DEMO):

/[0-9]{1,2}:[0-9]{2}(?(?=[:]{1})([:]{1}[0-9]{0,2})())/