Cita:
Iniciado por cybervandal
[...] No buscaba aislar el ID, sino justo lo contrario, lo que no fuera el ID.
Pues tienes que pensar un poco más.
Es decir, la expresión regular está de sobra, no hace falta.
Si lo piensas un poco con explode() conviertes la cadena en un array, si tienes esto: 8-pares-de-zapatillas-del numero-45-78
Código PHP:
Ver original$str = '8-pares-de-zapatillas-del numero-45-78';
$parts = explode('-', $str); // separamos por guiones array_pop($parts); // eliminamos el ultimo elemento $str = join('-', $parts); // unimos de nuevo
echo $str; // 8-pares-de-zapatillas-del numero-45
La regla de oro de usar RegExp (expresiones regulares) es: no las uses si el mismo problema se puede resolver sin RegExp.
Además usar RegExp de manera prematura es síntoma de que no has pensado bien en el problema y buscas una solución rápida, mal ahí.