ясно.
я пример привел, относительно первого поста. выже не сказали что <pod> может быть сколько угодно.
вам уже
подсказали QRegExp::setMinimal()Цитата(Гость_Ponter_* @ 3.3.2010, 14:37)
kwisp, это не подходит, потому что этих <pod> может быть сколько угодно.
подойдёт с небольшим изменением.
описываю регулярку словами, скорее всего в коде ошибусь. всё от начала строки или "</pod>" до "<pod>" затем всё до конца строки либо "</pod>"
QRegExp reg("(^\|(</pod>))(.+)<pod>(.+)((</pod>)\|$)");
while((int pos = reg.indexIn(str,0))!=-1) {
strL1.append(reg.cap(3));// не уверен на счет 3
strL2.append(reg.cap(4));
}
всё равно в регулярке "ошибся" последнее слово не схавает.
минутку
можно так попробовать
QRexExp reg("(<pod>)\|(</pod>)");
QStringList strL = str.split(reg);
если начало строки не <pod> то нечетные элементы списка это элементы первого списка, четные это элементы второго.
|| так
QRexExp reg("</?pod>");
QStringList strL = str.split(reg);