Pregunta

supongamos que tengo una cadena:

QString str={time:123,age:{aaa:123,bbb:456},address:aaa,hight:{zzz:111,ccc:{rrr:333,uuu:555},xxx:222}};  

es posible usando expresión regular para dividir a

str.split(QRegExp(???))  

==>

    time:123  
    age:{aaa:123,bbb:456}  
    address:aaa  
    hight:{zzz:111,ccc:{rrr:333,uuu:555},xxx:222}  

Gracias

¿Fue útil?

Solución

Es JSON? En ese caso, utilice un analizador JSON.

En general, utilice un analizador apropiado para el idioma. Esto no puede ser resuelto correctamente con expresiones regulares.

Otros consejos

Usted está tratando de igualar los niveles de anidación, que no es un lenguaje regular (y por lo tanto las expresiones regulares no puede coincidir con él).

No debería ser demasiado difícil escribir un analizador de expresiones regulares no simplista para esto, sin embargo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top