PHP preg_匹配linux正常运行时间命令/响应
因此,我使用php在文本文件中解码Linux命令中的时间PHP preg_匹配linux正常运行时间命令/响应,php,linux,Php,Linux,因此,我使用php在文本文件中解码Linux命令中的时间 :~>uptime :~>23:20pm up 1:58, 1 user, load average: 0.11, 0.09, 0.11 :~> 我需要1:58返回。我已尝试: preg_match('/[0-9]{1,2}:[0-9]{2}/', $a, $b); 但要得到“23:20”的结果。另外,“1:58”可以变成“12:34:56”这样的数字,我也需要它 我在表达上苦苦挣扎。非常感谢您的帮助。您
:~>uptime
:~>23:20pm up 1:58, 1 user, load average: 0.11, 0.09, 0.11
:~>
我需要1:58返回。我已尝试:
preg_match('/[0-9]{1,2}:[0-9]{2}/', $a, $b);
但要得到“23:20”的结果。另外,“1:58”可以变成“12:34:56”这样的数字,我也需要它
我在表达上苦苦挣扎。非常感谢您的帮助。您可以尝试以下正则表达式:
/[0-9]{1,2}:[0-9]{2}[:]{0,1}[0-9]{0,2}/
这将检查是否有另一个:00
作为时间的一部分,如果没有,它将得到它,然后将忽略它
编辑:小问题上述正则表达式也将匹配如下内容:12:3342
。因此,可以使用以下正则表达式():
试过了,但是$b[0]显示的是23:20,但是$b[1]是空的,即使使用match allWith
preg\u match\u all
$b[0]
将是一个多维数组,您可以得到如下值:$b[0][1]
etcOh它是一个多数组,所以$b[0][1]。。。厄运!在应用程序的上下文中,不需要它。
/[0-9]{1,2}:[0-9]{2}(?(?=[:]{1})([:]{1}[0-9]{0,2})())/