У меня есть строка, как показано ниже:
on prepareFrame
go to frame 10
goToNetPage "http://www.apple.com"goToNetPage "http://www.cnn.com"etc..
end
Я хочу извлечь все URL-адреса из этой строки с помощью QRegularExpression. Я уже попробовал:
QRegularExpression regExp("goToNetPage \"\\w+\"");
QRegularExpressionMatchIterator i = regExp.globalMatch(handler);
while (i.hasNext()) {
QRegularExpressionMatch match = i.next();
QString handler = match.captured(0);
}
Но это не работает.
Вы можете использовать
QRegExp regExp("goToNetPage\\s*\"([^\"]+)");
QStringList MyList;
int pos = 0;
while ((pos = regExp.indexIn(handler, pos)) != -1) {
MyList << regExp.cap(1);
pos += regExp.matchedLength();
}
Шаблон
goToNetPage\s*"([^"]+)
Это соответствует goToNetPage
, 0 или более пробелов, "
а затем фиксирует в группе 1 любые 1+ символов, кроме "
— к требуемому значению обращаются с помощью regExp.cap(1)
,
Других решений пока нет …