En una secuencia de comandos de PHP, ¿qué expresiones regulares debo usar para buscar paréntesis no coincidentes en una cadena? Cosas que quiero para permitir que incluyen:Regex para comprobar si una cadena tiene paréntesis no coincidentes?
- Esta es (bueno)
- Este (es) (OK)
cosas que quiero para impedir:
- Esto es) malo (
- Esto también (malo
- Esto es (malo (también)
Gracias!
Actualización: Ustedes todos rock. Hacer esto con una expresión regular parecía más complicado de lo que debería, y este tipo de respuestas de segundo nivel es lo que hace que stackoverflow sea hermoso. Gracias por los enlaces y el pseudocódigo. No estoy seguro de a quién dar la respuesta, así que me disculpo con todos cuyas respuestas no puedo aceptar.
¿Necesita paréntesis anidados arbitrarias o que sepa con certeza que no hay más que un nivel fijo (digamos 5 niveles de profundidad) de anidación posible en cualquier cadena de entrada? – jfs
Las cadenas están limitadas a unos 300 caracteres. Sin embargo, es posible obtener 300 (s) en una fila. Ah, la entrada del usuario :) – twk