Извлечение URL-адресов из строки с помощью QRegularExpression

У меня есть строка, как показано ниже:

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);
}

Но это не работает.

1

Решение

Вы можете использовать

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),

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]