<?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], '$1', $a).PHP_EOL;
echo preg_replace($r[1], '$1', $b).PHP_EOL;
echo preg_replace($r[1], '$1', $c).PHP_EOL;
echo preg_replace($r[2], '$1', $d).PHP_EOL;
echo preg_replace($r[1], '$1', $e).PHP_EOL;
preferences:
38.14 ms | 402 KiB | 5 Q