Ver Mensaje Individual
  #5 (permalink)  
Antiguo 31/12/2010, 08:15
haga41
 
Fecha de Ingreso: junio-2008
Mensajes: 145
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema con caracteres especiales como primer caracter de las búsquedas.

Hola de nuevo jurena, gracias por tu paciencia y por tu explicación del funcionamiento del * y los corchetes con el número en esa posición, lo he probado de nuevo tanto para titulos que empiezan con paréntesis y número como con títulos que empiezan con signo de interrogación y número y aunque con la interrogación funciona perfectamente con paréntesis me sigue mostrando el error "Got error 'parentheses not balanced' from regexp".

La versión de PHP que tengo es la 5.3.1 y la versión de MySql la 5.1.41 no se si esto puede tener algo que ver.

He intentado buscar sobre ese error específico en Internet pero aún no he conseguido encontrar nada que me sirva.

Sobre lo que debo de aprendar a usar primero las expresiones regulares e ir poco a poco probando las cosas tienes razón, últimamente he estado más metido en temas de diseño web que de programación y bases de datos y lo tengo todo un poco olvidado, poco a poco me voy acordando de cosas.

He ido a la web oficial de MySql y he visto la versión en Pdf del manual así que intentaré mirar a fondo la parte de REGEXP a ver si veo que es lo que falla.

Estas son las sentencias que he probado hasta ahora:

SELECT * FROM peliculas WHERE Titulo REGEXP '^\\([0-9]{1}'

Me da el error antes mencionado. El problema parece estar en el paréntesis de apertura ya que he probado a buscar todas las películas que comiencen por "(" usando esta consulta:

SELECT * FROM peliculas WHERE Titulo REGEXP '^('

Y me da el mismo error "Got error 'parentheses not balanced' from regexp".
Sin embargo si uso el paréntesis de cierre ")" funciona perfectamente.
La consulta que me dijiste usando el signo de interrogación de apertura:

SELECT * FROM peliculas WHERE Titulo REGEXP '^\\¿[0-9]{1}'

también funciona perfectamente, me encuentra solamenta las películas cuyo primer caracter es "¿" y el siguiente un número.


Bueno de momento estas son las pruebas que he realizado, esta tarde y mañana andaré liado así que sólo me queda desearte a ti y a todos los demás miembros de forosdelweb un feliz año nuevo.


¡Espero que después de Nochevieja se me ocurra alguna forma de arreglarlo!