Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/08/2010, 16:25
Bloodsucker
 
Fecha de Ingreso: abril-2009
Mensajes: 13
Antigüedad: 15 años
Puntos: 0
De acuerdo Expresiones regulares: "-cualquier caracter- excepto este caracter"

Hola!

Estoy realizando un proyecto mío independiente para crear una base de datos (si, ya se que estoy reinventando la rueda :P). Lo estoy programando en C.

Para el chequeo de las querys quiero usar expresiones regulares usando PCRE para C, siendo compatibles con las usadas en PHP. Posteo aquí porque podría hacer la misma pregunta si programara con PHP y es el lenguaje que mejor conozco.

Como ya he puesto en el titular necesito obtener la expresión regular para detectar cualquier carácter excepto un carácter en concreto. Un ejemplo:
(comillas incluidas en el string) Texto válido:
Código:
'abcd1234abcd'
Parece sencillo decir que sería en expresión regular:
Código:
^'[0-9a-zA-Z]*'$
ó
^'\w*'$
Mi problema viene cuando se da la posibilidad de que ocurra esto (texto invalido):
Código:
'abd13'45bda'
ó
'abcñò{}1'234ab'
En el primer ejemplo se ve que hay una comilla simple de mas. En el siguiente se ve que hay caracteres "especiales" como la ñ entre otros.

Hay una aproximación al segundo ejemplo:
Código:
^'.*?'$
El problema está en que el . incluye -cualquier carácter-, incluyendo la comilla..., y no se me ocurre una manera de plantearme el problema de: "cualquier carácter por en medio excepto una comilla".

PD: Estoy usando para ejecutar ejemplos de expresiones regulares esta web: http://www.metriplica.com/4_4_herramientas.asp (está hecha en ASP pero no creo que haya diferencias respecto a usar PCRE).

Un saludoooo

Última edición por Bloodsucker; 22/08/2010 a las 16:27 Razón: Titular más serio