Masterjose ... creo que estas mal, las expresiones regulares no se usan para eso exactamente.
ahora yo le diria que lo solucione con un clico usando explode y strpos.
Código PHP:
//Creamos cadena
$cadena = "123 4567 89;";
//Creamos array segun espacios encontrados
$espacio = explode(' ', $cadena);
//Contamos el array
$countcadena = count($espacio);
//Inicamos un segundo contador
$posio = 1;
for($x=0; $x<=$countcadena; $x++)
{
if(strpos($espacio[$x], ";"))
{ break(); }
else
{ $posio++; }
}
echo "mi ';' esta de numero ".$posio.";
Bueno eso seria, no lo he probado, pero hagale y me cuenta.