Tech Racho エンジニアの「?」を「!」に。
  • 開発

[PHP] 時刻を取得する正規表現

文字列を時刻に分解するとき、やり方は色々ありますし、ライブラリもいっぱい見つかると思いますが、正規表現だけでも基本的なことはできますね。

たとえばこんな書き方は簡単でわかりやすいです。

preg_match('/((\d+)時間)?((\d+)分)?((\d+)秒)?/',
 '2時間53分14秒', $match);
print_r($match);

/*
Array
(
    [0] => 2時間53分14秒
    [1] => 2時間
    [2] => 2
    [3] => 53分
    [4] => 53
    [5] => 14秒
    [6] => 14
)
*/

これだと、53分14秒や2時間14秒のように前/途中が無いときにも、勝手に詰められてしまうことも無くて扱いやすいです。

正規表現さえ使えればライブラリに依存しないので、とっさな時も大丈夫ですね。
同僚がもっとスマートな正規表現を教えてくれましたが、たぶんこちらの方がわかりやすい。


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。