@yevgenyyakushov
Начинающий web'er

Как правильно построить регулярное выражение?

есть строка, допустим

02.09Пн Здесь еще какой-то текст 03.09 Здесь еще текст 04.09 Ну и здесь допустим текст

Как распарсить, чтобы получилось что-то типа такого

02.09Пн Здесь еще какой-то текст
03.09 Здесь еще текст
04.09 Ну и здесь допустим текст

Желательно массив на выходе
  • Вопрос задан
  • 170 просмотров
Решения вопроса 2
DevMan
@DevMan Куратор тега PHP
$parsed = preg_split('/\s(?=\d)/', $str);
https://ideone.com/FCIXXA
Ответ написан
@Gil-Galad
Что-то типа такого:

$string = '02.09Пн Здесь еще какой-то 0123456789 текст с цифрами 03.09 Здесь еще текст 04.09 Ну и здесь допустим текст и за компанию ложное совпадение 00.12 или 32.01 или 22.00 или 22.13 вот';

if(preg_match_all('#(?P<element>\d{2}\.\d{2}.+?)(?=\d{2}\.\d{2}|$)#', $string, $found))
{
	$parsed = $found['element'];
}

if(preg_match_all('#(?P<element>(?:0[1-9]|[12]\d|3[01])\.(?:0[1-9]|1[012]).+?)(?=(?:0[1-9]|[12]\d|3[01])\.(?:0[1-9]|1[012])|$)#', $string, $found))
{
	$parsed = $found['element'];
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Алгоритмика Москва
от 110 000 до 160 000 руб.
N1.RU Новосибирск
от 100 000 руб.
Living Core Казань
от 50 000 руб.