Как строку разобрать на ФИО, дату рождения и регион?
На кой ляд тут регулярки?
Разбиваешь по пробелу и считаешь последний кусок регионом, а первые два - всегда ФИ, как заявлено. 
Предпоследний, если он есть - день рождения, если от него получается ненулевой strtotime.
Если еще что-то осталось - это отчество.
$str= explode(" ", "Александрова Мария Николаевна 10.05.2000 197");
echo $str[0]; 
echo $str[1];
PS
У вас получается, что последние два $str всегда числа,первые два имя и фамилия, чтобы уследить наличие отчества считайте на сколько значений разбился массив