C++ (Qt) QString str="1,2,3,{4,5,6},7,8,9"; int pos = 0; QRegExp rx("([^,]|\\{.*\\})"); // Ищем символ не равный запятой или выражение в скобках while((pos = str.indexOf(rx,pos))>=0) { pos+=rx.cap(0).length(); qDebug()<<rx.cap(0); }
QString t = "1,2,3,{4,5,6},7,8,9";t.replace(QRegExp(",|(\\{([^,],)*[^,]\\})"), " \\1");
QString str = "127, 123.123, 'hey', {1, 2, 3, 4}, {1.122, 1.2121, 1.111}, {1, 2, 3}";int pos = 0;QRegExp rx("([^, ]+|[\\\"'].*[\\\"'])|\\{.*\\}");while((pos = str.indexOf(rx,pos))>=0){ pos+=rx.cap(0).length(); qDebug()<<rx.cap(0);}