тест (.+)
Код:
Код: Выделить всё
say('$matches0 '.$matches[0]);
say('$matches1 '.$matches[1]);
say('$matches2 '.$matches[2]);
say('$matches3 '.$matches[3]);
say('$matches4 '.$matches[4]);
say($matches[1]);
22:31 Алиса: 1 2 3 4 5 6 конец
22:31 Алиса: $matches4
22:31 Алиса: $matches3
22:31 Алиса: $matches2
22:31 Алиса: $matches1 1 2 3 4 5 6 конец
22:31 Алиса: $matches0 тест 1 2 3 4 5 6 конец
22:31 Сергей: тест 1 2 3 4 5 6 конец
Всё хорошо.
Есть другой шаблон - напомни через (\d+) минут(.?) (.+)
Код:
Код: Выделить всё
$rnumber = 1;
while (1) {
$rname = "Reminder_$rnumber";
if (!timeOutExists($rname)) break;
$rnumber++;
}
say('original '.$original);
say('0 '.$matches[0]);
say('1 '.$matches[1]);
say('2 '.$matches[2]);
say('3 '.$matches[3]);
say('4 '.$matches[4]);
$nmin = morph($matches[1],'минуту','минуты','минут');
setTimeOut($rname,'sayReply("Напоминаю: '.$matches[3].'",5);',$matches[1]*60);
say("Принято напоминание - напомнить через $matches[1] ".$nmin.": $matches[3]",2);
say("Постараюсь не забыть!",2);
22:37 Алиса: Напоминаю: 1 2 3 4 5 6
22:35 Алиса: Постараюсь не забыть!
22:35 Алиса: Принято напоминание - напомнить через 2 минуты: 1 2 3 4 5 6
22:35 Алиса: 4
22:35 Алиса: 3 1 2 3 4 5 6
22:35 Алиса: 2 ы
22:35 Алиса: 1 2
22:35 Алиса: 0 напомни через 2 минуты 1 2 3 4 5 6
22:35 Алиса: original напомни через 2 минуты 1 2 3 4 5 6 конец
22:35 Сергей: напомни через 2 минуты 1 2 3 4 5 6 конец
Вопрос - куда подевалось слово конец?