Как найти дату с этим форматом в строке? - PullRequest
0 голосов
/ 07 ноября 2019

Итак, у меня есть следующие строки:

 1. This is some 734 random 6272834 data 04 FEB 1:01 and maybe some here
                                         ^^^^^^^^^^^
 2. This is some random 1512 data 03 Jun 18:50
                                  ^^^^^^^^^^^^
 3. 23 APR 05:00 and maybe some here
    ^^^^^^^^^^^^
 4. 13 JUN 13:22
    ^^^^^^^^^^^^

Мне нужно получить эту дату и время.

Я попытался использовать разнесение, а затем проверить, является ли элемент числовым, затем следующийимеет несколько алфавитов, а затем 2 цифры: 2 цифры (вы поняли)

Есть ли лучший способ извлечь эту переменную дату (например, 13 JUN 13:22 или 23 APR 05:00) из всех этих строк безопасно?

Может быть, с помощью регулярных выражений?

1 Ответ

1 голос
/ 07 ноября 2019

Ниже приведено регулярное выражение, которое будет соответствовать следующему ...

[\d]{2} - matches exactly 2 digits
\s - matches single space
[\w]{3} - matches exactly 3 word characters
[\d]{1,2} - matches 1 or 2 digits, no more than 2, but at least 1

ниже приведен рабочий пример ...

$str = 'This is some 734 random 6272834 data 04 FEB 1:01 and maybe some here';

preg_match('#[\d]{2}\s[\w]{3}\s[\d]{1,2}:[\d]{2}#', $str, $matches);

print_r($matches);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...