Hay casos que usar regex es innecesario, y me parece que acá lo es, ej:
Código PHP:
$publicacion = empty($_GET['publicacion']) ? 0 : intval($_GET['publicacion']); #Siempre será un número entero
if( $publicacion > 0 ) echo "Es mayor a cero";
Si no te sirve di porque y lo fixeamos! saludos.