$arr = array();
$text='/part/13/name.html';
$reg1='\/(part\/(1|7))|(page\/(6|11))\/[0-9a-z_\.]*.html';
$reg2='\/(part\/(5|11|13|12))|(page\/(8|9|14))\/[0-9a-z_\.]*.html';
if(preg_match('/'.$reg1.'/i',$text)){
$arr[] = 'reg_1';
}
if(preg_match('/'.$reg2.'/i',$text)){
$arr[] = 'reg_2';
}
В результате как 1 так и 2-е попало в массиве. Не как не магу понять почему туда попал 1 совпадение