<?php
var_dump(sprintf('%d.%d.%s-%d.%d.%d','11111','01','01','1d','',''));
$a = '11111';//переполнение
$b = '01'; //спереди 0
$c = '1d'; //лишние символы
$d = ''; //недостаточно символов
$e = 'df'; //неподходящие символы
$r = array('/.*(\d{1,4}).*/','/.*(\d{1,2}).*/','/(\d?)/');
echo preg_replace($r[0], '$0', $a).PHP_EOL;
echo preg_replace($r[1], '$0', $b).PHP_EOL;
echo preg_replace($r[1], '$0', $c).PHP_EOL;
echo preg_replace($r[2], '$0', $d).PHP_EOL;
echo preg_replace($r[1], '$0', $e).PHP_EOL;
preferences:
39.66 ms | 402 KiB | 5 Q