regex / php: dizeden kez ayrıştırmak?

3 Cevap php

Bir dizeden zaman ayrıştırmak için en iyi yolu nedir?

Örnek dizge: "bu 10:48 olduğu, 10:49, 10:50, 22:15 10:45";

Beklenen getiri:

[0] = 10:45

[1] = 10:48

[2] = 10:49

[3] = 10:50

[4] = 22:15

Herhangi bir yanıt için teşekkürler!

3 Cevap

Bu istediğiniz çıktı vermek ve saat dakika ilk pozisyonun ilk pozisyon için geçerli değerler için saat / dakika numaralarını sınırlar olacaktır:

$y = "this is 10:45 this is 10:48, 10:49, 10:50, 22:15";
preg_match_all("/(([0-1]\d|2[0-3]):[0-5]\d)/",$y,$matches);
print_r($matches[1]);
/*
Outputs:
Array ( [0] => 10:45 [1] => 10:48 [2] => 10:49 [3] => 10:50 [4] => 22:15 )
/*
preg_match_all('/\d{2}:\d{2}/', $string, $matches);

Sen $matches dizideki tüm maçları olacak.

Bu oldukça basit bir durum gibi görünüyor. ile preg_match_all deneyin "/ \ d \ d: \ d \ d /"