Используя это регулярное выражение B([^.]*)E
Я пытаюсь получить все символы между B
и E
отQString список Раскол возврата пустых строк
B23432|234|24EB23432|2834|234EB23432|2134|234E
Использование Qt4.8
QRegExp rx("B([^.]*)E");
rx.setMinimal(true);
QString str = "B23432|234|24EB23432|2834|234EB23432|2134|234E";
QStringList list;
list = str.split(rx);
qDebug() << list;
печатает список пустые строки. Разве он не должен возвращать все строки между B
и E
?
Попробуйте 'B ([^ E] *) E'. –
Вы пытаетесь получить все символы между B и первым E или E в самом конце линии? – d0nut
'[^.]' Не будет соответствовать символу. Вы можете попробовать, что предложил @стрибижев, или 'B (. *) E'. –