Можно ли разбить следующую строку с помощью регулярных выражений? - PullRequest
0 голосов
/ 08 ноября 2010

предположим, у меня есть строка:

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

возможно ли использовать регулярное выражение, чтобы разделить его на

str.split(QRegExp(???))  

==>

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

Спасибо

Ответы [ 2 ]

1 голос
/ 08 ноября 2010

Это JSON? В этом случае используйте анализатор JSON.

Как правило, используйте синтаксический анализатор, соответствующий языку. Это не может быть правильно решено с помощью регулярных выражений.

1 голос
/ 08 ноября 2010

Вы пытаетесь сопоставить уровни вложенности, что не является обычным языком (и поэтому регулярные выражения не могут соответствовать ему).

Не должно быть слишком сложно написать для этого упрощенный анализатор без регулярных выражений.

...