Cita:
Iniciado por abimaelrc Busca todo aquellos parentesis que no hayas declarado como (?: y verás tu archienemigo.
esto.... mmm... no caigo....
está claro que la porción del patrón que falla es esta: (al menos eso creo)
Código PHP:
"(?:\"([^\"]*)\"|(\\d*(?:[\\.\\,]\\d*)?))/"
El primer sub-patrón es para una selección disyuntiva (o rama alternativa según la documentación). Esta no se captura.
El siguiente sub-patrón pertenece a una de las opciones, solo se captura lo que está entre paréntesis. Esta se captura.
El siguiente sub-patrón (que recursivo, jeje) es el de los números, que además incluye otro para el soporte de decimales, el incluido no se captura, pero el exterior sí.
Ahora bien, si repasamos el contador nos damos cuenta de que hay:
- 4 sub-patrones
- 2 sub-patrones capturados, pero disyuntivamente (si se captura uno no se captura el otro)
y entonces, donde está mi archienemigo?