我需要關於如何更改當前RegEx行的一些指示。使用RegEx從字符串獲取(解析)時間
例字符串: 9:00 AM - 9:30 AM
希望的輸出: 900 930(其每一個可以在一個陣列或任何一個索引)..
電流的方法:
preg_match('/^([0-9]{1,2}):([0-9]{1,2}) ?([ap]m)/i', trim($presentationtime), $matches);
但是,這似乎只是讓我第一(剝離/解析)的時間。
結果:
$presentationtime = $matches[1] . $matches[2];
echo 'Matches check: '. $matches[0] . '<br>';
echo 'Matches check: '. $matches[1] . '<br>';
回報:
匹配檢查:9
匹配檢查:00
我怎樣才能改變我的正則表達式來獲得兩次(剝離/解析的同樣的方式)..
我期待一個6索引數組......但只能ge TA 3索引/計數陣列這樣做的
使用'preg_match_all' – anubhava
爲什麼要使用正則表達式都在這裏嗎?你可以簡單地在' - '上爆炸來獲取兩個不同的時間分量。然後,您可以將這些時間組件讀取到'DateTime'或類似的對象中,並將輸出字符串格式化爲任何您想要的。輸入字符串的變體中是否存在更復雜的問題,您不會顯示這將暗示正則表達式是更好的方法? –