Ist es möglich, die folgende Zeichenfolge mit regulären Ausdrücken zu teilen?
Frage
Angenommen, ich habe eine Zeichenfolge:
QString str={time:123,age:{aaa:123,bbb:456},address:aaa,hight:{zzz:111,ccc:{rrr:333,uuu:555},xxx:222}};
Ist es möglich, einen regulären Ausdruck zu verwenden, um es aufzuteilen?
str.split(QRegExp(???))
==>
time:123
age:{aaa:123,bbb:456}
address:aaa
hight:{zzz:111,ccc:{rrr:333,uuu:555},xxx:222}
Vielen Dank
Lösung
Ist es JSON? Verwenden Sie in diesem Fall einen JSON -Parser.
Verwenden Sie im Allgemeinen einen Parser, der für die Sprache geeignet ist. Dies kann nicht korrekt mit regulären Ausdrücken gelöst werden.
Andere Tipps
Sie versuchen, die Nistnestels zu entsprechen, was keine reguläre Sprache ist (und daher können reguläre Ausdrücke nicht mithalten).
Es sollte jedoch nicht zu schwer sein, dafür einen simplen Nicht-Regex-Parser zu schreiben.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow