Encontre cadeias entre duas tags com regex no Qt
alguém pode me ajudar com isso?
Eu tenho uma string que contém N substrings, delimitados por tags e eu tenho que obter todos os substrings. A corda é como
STARTfoo barENDSTARThi! ENDSTARTstackoverflowrulezEND
Gostaria de obter todas as strings entre as tags START / END, tentei com algumas expressões regulares sem sorte:
(START) (. *) (END) fornece TODO o conteúdo entre a primeira e a última tag
(START) (\ w +) (END) não fornece resultado
O código é muito simples:
QString l_str "STARTfoo barENDSTARThi there!ENDSTARTstackoverflowrulezEND";
QRegExp rx("(START)(\w+)(END)");
QStringList list;
int pos = 0;
while ((pos = rx.indexIn(l_str, pos)) != -1)
{
list << rx.cap(1);
pos += rx.matchedLength();
}
qWarning() << list;
Eu gostaria de uma lista resultante como:
Barra STARTfooEND
STARThi! END
STARTstackoverflowrulezEND
Qualquer ajuda?
Obrigado!