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

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

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

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

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

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

Желательно массив на выходе
  • Вопрос задан
  • 173 просмотра
Решения вопроса 3
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'];
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы